![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2006
Сообщений: 6
|
Продолжаю мучать флеш, поэтому очередной ламерский вопрос
Написал кусок кода, вот такой: 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, время: 22:29. |
|
|
« Предыдущая тема | Следующая тема » |
|
|