|
|
|||||
Регистрация: Oct 2006
Сообщений: 6
|
Что может перебивать onEnterFrame?
Продолжаю мучать флеш, поэтому очередной ламерский вопрос
Написал кусок кода, вот такой: image_url = '_somepic.JPG'; alpha_delay = 15 for(var i:Number = 1; i < 7; i++) { this.createEmptyMovieClip("square_mc" + i, _root.getNextHighestDepth()); _root["square_mc" + i]._x = 45 * i; _root["square_mc" + i].createEmptyMovieClip("image_upper" + i, _root["square_mc" + i].getNextHighestDepth()); _root["square_mc" + i]['image_upper' + i].loadMovie('prev1_' + i + image_url); // _root["square_mc" + i]['image_upper' + i]._alpha = 0; _root["square_mc" + i].onRollOver = function() { var ClipPath:String = "" + this; buttonName = ClipPath.substr(ClipPath.indexOf(".") + 1, ClipPath.length - ClipPath.indexOf(".")); imageName = 'image_upper' + ClipPath.substr(ClipPath.length - 1, 1); _root[buttonName][imageName].onEnterFrame = function () { if (_root[buttonName][imageName]._alpha > 0) { _root[buttonName][imageName]._alpha -= alpha_delay; } } }; _root["square_mc" + i].onRollOut = function() { var ClipPath:String = "" + this; buttonName = ClipPath.substr(ClipPath.indexOf(".") + 1, ClipPath.length - ClipPath.indexOf(".")); imageName = 'image_upper' + ClipPath.substr(ClipPath.length - 1, 1); _root[buttonName][imageName].onEnterFrame = function () { if (_root[buttonName][imageName]._alpha < 100) { _root[buttonName][imageName]._alpha += alpha_delay; } } }; }; В общем буду благодарен за разбор полетов, ну и вообще |
|
|||||
Modus ponens
|
Попробуй делать так:
for(i=0; i<7; i++){ var myBtn:MovieClip = _root.createEmptyMovieClip("square_mc" + i, _root.getNextHighestDepth()); with(myBtn){ _i = i; } myBtn.onRollOver = function(){}; myBtn.onRollOut = function(){}; } С другой стороны alpha_delay - не видна в теле функции (воспринимается как локальная переменная. Нужно _root.alpha_delay. Желательно удалять onEnterFrame после того, как альфа дошла до нуля. Ну и наоборот, когда больше ста - тоже.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Oct 2006
Сообщений: 6
|
Цитата:
|
|
|||||
onEnterFrame мы присваиваем функцию, значит надо заканчивать функцию. Чтоб закончить функцию достатачно написать return;
|
Часовой пояс GMT +4, время: 12:03. |
|
« Предыдущая тема | Следующая тема » |
|
|