Проблемы с програмной анимацией @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 6 ] 
*   Список форумов / Технологии изображения / Flash » ответить » создать топик « | »
Автор Сообщение
Werwolf_R
новый человек
0
Сообщения: 16
Зарегистрирован: 29.12.05
Заголовок сообщения: Проблемы с програмной анимацией
Сообщение Добавлено: 3 Октябрь 2006, 07:57:31 
Не знаю как оживить второй клип при положении поверх него мыши. Первый работает, а остальные нет. Ниже привожу скрипт.

/*создаю переменные для анимации*/
var startAlpha= false;
var startAlpha01=false;
var i = 0;
var a = 70;
this.createEmptyMovieClip("position01_mc", -1005);
/*дублирую клипы*/
for(var b:Number = 2; b<7; b++){
mask01_mc.duplicateMovieClip("mask0"+b+"_mc",-999+b);
}
/*а это как раз дублирую интересующую меня "маску", она при наведении на нее мыши должна изменять свою прозрачность*/
for(var k:Number = 2; k<7; k++){
position01_mc.duplicateMovieClip("position0"+k+"_mc",-1005+k);
}
/*ну и не совсем рационально расставляю их при помощи кода*/
mask01_mc.swapDepths(-999);
mask01_mc._x = 300;
mask01_mc._y = 50;
mask01_mc._alpha = 70;
position01_mc._x = 300;
position01_mc._y = 50;
position01_mc.loadMovie("010101.swf");
mask02_mc._x = 440;
mask02_mc._y = 50;
mask02_mc._alpha = 70;
position02_mc._x = 440;
position02_mc._y = 50;
position02_mc.loadMovie("010102.swf");
/*…. и т.д. их там несколько - 6*/
mask01_mc.onRollOver = function() {
startAlfa = true;
};
mask01_mc.onRollOut = function() {
startAlfa = false;
};
mask02_mc.onRollOver = function() {
startAlfa01 = true;
};
mask02_mc.onRollOut = function() {
startAlfa01 = false;
};
/*вот обработчик - проблема* :cry: /
this.onEnterFrame = function() {
if (startAlfa01) {
mask02_mc._alpha = a-i;
i += 10;
} else {
mask02_mc._alpha = 70;
i=0;
}
};
this.onEnterFrame = function() {
if (startAlfa) {
mask01_mc._alpha = a-i;
i += 10;
} else {
mask01_mc._alpha = 70;
i=0;
}
};
Мигель Муж.
участник
75
Сообщения: 1453
Зарегистрирован: 09.01.04
Откуда: http://design-cafe.ru
Сообщение Добавлено: 3 Октябрь 2006, 10:04:51 
1. оформляйте код, пожалуйста.
2. зачем подряд два онЕнтерФрейма на один и тот же клип?

_________________
_____
Работа Изображение Работы Изображение О Работе
nuran
«Лектор»
46
Сообщения: 1569
Зарегистрирован: 21.05.04
Сообщение Добавлено: 3 Октябрь 2006, 14:20:43 

_________________
blog : flash / unity


Последний раз редактировалось nuran 3 Октябрь 2006, 14:30:49, всего редактировалось 1 раз.
Werwolf_R
новый человек
0
Сообщения: 16
Зарегистрирован: 29.12.05
Сообщение Добавлено: 3 Октябрь 2006, 14:22:03 
Мигель, спасибо за ответ.
Вот именно вопрос в том как сделать анимацию с помощью переменной изменяющейся с онЕнтерФреймом для нескольких клипов?
Или это как-то по другому устроено?
Не думаю, что выход - делать покадровую анимацию с МоушнТвином.
Подскажите, пожалуйста. Буду признателен.
Мигель Муж.
участник
75
Сообщения: 1453
Зарегистрирован: 09.01.04
Откуда: http://design-cafe.ru
Сообщение Добавлено: 3 Октябрь 2006, 16:08:37 
this.onEnterFrame создает обработчик события для текущего клипа, на временной линейке коего размещен сей код.
К примеру если код написан на кадре основной шкалы, (то есть _root он же _level0 в большинстве случаев) то стало быть вы создали обработчик для _root. А потом тут же заменили его на другой.

Надо обработчики давать разным клипам.

в вашем случае можно написать вообще одну функцию и назначить ее в качестве обрабочика
Код:
function myfunc () {
      trace(this+" calls onEnterFrame");
}

mc1.onEnterFrame = myfunc;
mc2.onEnterFrame = myfunc;

_________________
_____
Работа Изображение Работы Изображение О Работе
Werwolf_R
новый человек
0
Сообщения: 16
Зарегистрирован: 29.12.05
Сообщение Добавлено: 4 Октябрь 2006, 02:04:08 
Спасибо большое, Мигель.:) Попробую.
*   Список форумов / Технологии изображения / Flash « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 6 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100