Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Общие вопросы о Flash (не затрагивающие ActionScript) (http://www.flasher.ru/forum/forumdisplay.php?f=60)
-   -   "потухание" кнопки (http://www.flasher.ru/forum/showthread.php?t=131808)

Bayazet 28.10.2009 18:55

"потухание" кнопки
 
добрый день
не судите строго - флашем я, так сказать, занимался достаточно давно и те крохи, которые знал, уже забыл. и вот тут вдруг приспичело

что я имею: делаю карту россии с подсвечивающимися регионами, наводишь - регион "загорелся".
регионы сделаны символами-кнопками, а на кадре OVER - символ-анимация, где он собственно плавно "загорается"

подскажите, как реализовать такую фичу: когда уводишь курсор с региона-кнопки он так же плавно потухает? причем т.к. регионов у нас в стране много, желательно бы научить мою карту в этом случае проигрывать ролик "подцветки" в обратном направлении.
в итоге я хочу поиметь эффект, когда быстро проводишь мышкой по стране, а за тобой - шлейф из плавно загорающихся и потухающий субъектов:)

Алиль 28.10.2009 23:55

Код:

mc.onRollOut=function (){
    mc.gotoAndPlay();// тут задаете с какого кадра проигрывать ваш мувиклип. Затухание.
}


Bayazet 29.10.2009 12:24

хм.. а куда этот код подставлять?
в символ кнопку?
а если мне надо проиграть какой-то другой символ-анимацию, а не просто клип с какого-то кадра?

amexdesign 29.10.2009 13:16

что уже сделанно из всего задуманного?

Bayazet 29.10.2009 13:25

сделаны все регионы кнопками, для каждого сделана анимация плавной подцветки при наведении курсора

evgen_triplex 29.10.2009 13:50

Цитата:

Сообщение от Bayazet (Сообщение 861598)
, а на кадре OVER - символ-анимация, где он собственно плавно "загорается"

сделать обратную анимацию в кадре UP

amexdesign 29.10.2009 14:07

что-нибудь происходит при нажатии? или только RollOver-RollOut?

Bayazet 29.10.2009 14:17

при нажатии будет выводится информация о каждом регионе. правда я еще не знаю как это реализовать;)

Добавлено через 5 минут
разве кадр UP это то что нужно?.. минуточку..
ТОЧНО!! как же я сам не догадался:)
просто при загрузке карты сначала все регионы потухнут и все ок. спасибо

при нажатии будет выводится информация о каждом регионе. правда я еще не знаю как это реализовать;) может быть есть идеи?

amexdesign 29.10.2009 14:41

ясно.
ну вопервых вам надо сделать во всех мувиках регионов анимацию потухания. думаю учить не надо - как?! следующий шаг - выкладываете регионы на сцену в соответствующем порядке и называете их например регион1, регион2 и т.д. создаёте слой для ActionScript и прописываете следующий код:
Код AS1/AS2:

var regionen:Array = new Array(region1, region2, ..., region100);
for (var i = 0; i < regionen.length; i++) {
        var btn:MovieClip = regionen[i];
        btn.ID = i;
        btn.seen = 0;
        //
        btn.onRollOver = function() {
                if (this.pressed != this.ID) {
                        this.gotoAndPlay("over");
                }else{
                        this.gotoAndPlay("over");
                }
 
        };
        btn.onRollOut = function() {
                if (this.pressed != this.ID) {
                        if (!this.seen) {
                                this.gotoAndPlay("out");
                        } else {
                                this.gotoAndStop("out");
                        }
                }
        };
        btn.onPress = function() {
                if(this.pressed != this.ID){
                        this.oldPressed.enabled = 1;
                        this.oldPressed.gotoAndStop(1);
                        this.pressed = this.ID;
                        this.seen = 1;
                        this.enabled = 0;
                        this.oldPressed = this.pressed;
                        this.gotoAndStop("activ");
                        //
                        loader(this.ID); // функция выполняемая при нажатии
                }
        };
}


Bayazet 29.10.2009 16:00

Вложений: 1
вроде как всю графику и анимацию для этой типа-карты я сделал (в прикрепленном архиве, если интересно)

кнопки-регионы назвываются 01, 02, 03 (соотв.числу на автомобильном номере)
01_over, 02_over, 03_over - анимация для кадра OVER соотв. кнопки-региона
01_up, 02_up, 03_up - анимация для UP.

хотелось бы, чтобы при щелчке на соотв. кнопку открывалось и как-нибудь красиво отображалось содержимого соотв файла 01.txt, 02.txt..
помогите реализовать

amexdesign 29.10.2009 19:02

респект перед вашим усердием. это ж надо 78 мовиков для эффекта over, столько же для эффекта up и ещё 78 кнопок и того 234, 2/3 попусту потерянного времени...
Цитата:

ну вопервых вам надо сделать во всех мувиках регионов анимацию потухания.
здесь я имел ввиду, что потухание прорисовывается в том же мувике где и зажигание с соответствующими командами stop();... каждый этот мувик вытащенный на сцену является кнопкой, если к нему применить
Код AS1/AS2:

mc.onRollOver = function(){

что означает ваши 78 экстра кнопок совершенно никчему. а чтобу не прописывать функции на каждый мувик в отдельности создаётся массив, что я и показал вам в своём примере.

подвешивая источник, не забывайте вкладывать и fla, а то с swf как-то затруднительно демонстрировать наглядным примером...

evgen_triplex 30.10.2009 11:15

Нельзя, чтобы имена мувиклипов начинались с цифры.
Код AS1/AS2:

//Загрузка массива из текстового файла 'txt.txt'
var loader:LoadVars = new LoadVars();
loader.onLoad = function(success:Boolean):Void  {
        if (success) {
                _root.txtArray = loader.txt.split(";");
        } else {
                trace('файл не найден');
        }
};
loader.load("txt.txt");
//при нажатии на кнопку reg_01, создается первая надпись из массива
reg_01.onRelease = function() {
        n = 1;
        _root.createTextField("txt_"+n,1,0,0,400,22);
        _root['txt_'+n].text = _root.txtArray[n-1];
};
 
//в текстовом файле следующее: &txt=регион1;регион2;регион3;...
//файл должен быть сохранен в формате UTF-8



Часовой пояс GMT +4, время: 22:17.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.