Просмотр полной версии : проблемы с onEnterFrame
hamstress
07.06.2006, 23:34
смысл моей задачи в следущем:
в цикле(от 1 до 3) прикрепляю на сцену первый клип при помощи attachMovie, затем для него же в цикле onEnterFrame = function() увеличиваю его длинну до определённого параметра, после того как увеличила до нужного, атачу следущий клип и так далее
проблема в следущем: тресом выяснилось, что сначала атачаться всё три клипа, после чего скрипт заходит в onEnterFrame и там индекс цикла равен 4(хотя должно быть от 1 до 3)
подскажите как иправить проблему или другой способ решить задачу
Выложи свой скрипт, мы поправим.
hamstress
08.06.2006, 00:35
function Scale_v_line() {
for (i = 1; i <= 3; i++) {
_root.Mainbox.attachMovie("v_line", "v_line" + i, this.getNextHighestDepth() + i);
trace("i1 = " + i);
_root.Mainbox.onEnterFrame = function() {
trace("i2 = " + i);
if (_root.Mainbox["v_line" + i]._height < 25) {
_root.Mainbox["v_line" + i]._height++;
}else{
delete _root.Mainbox.onEnterFrame;
}
};
}
}
сейчас по трейсам выдаёт
i1=1
i1=2
i1=3
(то есть атачит подрят 3 мувика)
i2=4 и так далее до конца параметра пока не будет delete _root.Mainbox.onEnterFrame
а должно быть
i1=1
i2=1
i1=2
i2=2
i1=3
i2=3
alkonaft
08.06.2006, 00:46
У меня челюсть отпала...
Как на аватаре.
Как я понял onEnterFrame тебе для изменения высоты, а почему не юзать класс tween?
_root.Mainbox.scale_v_line = function (i) {
this.attachMovie ("v_line", "v_line" + i, this.getNextHighestDepth () + i, {_x:i * 120});
this.i = i;
this["v_line" + i].onEnterFrame = function () {
if (this._height < 25) {
this._height++;
} else {
delete this.onEnterFrame;
if (this._parent.i < 3) {
this._parent.scale_v_line (++this._parent.i);
}
}
};
};
_root.Mainbox.scale_v_line (1);
2 alkonaft: хотябы потому что не у всех еще стоит плеер 8.
alkonaft
08.06.2006, 01:00
2 alkonaft: хотябы потому что не у всех еще стоит плеер 8.
Tween.onMotionFinished
Availability
Flash Player 6 (6.0.79.0).
Edition
Flash MX 2004.
Usage
Да ладна?:bye:
Да ладна?:bye:
Ну тогда в принципе можно.
Только кода столько же в данном случаи напишешь, но вот итоговый файл будет весить чуть больше.
Кстати сам tween основан на использовании того же onEnterFrame.
alkonaft
08.06.2006, 01:19
Ну тогда в принципе можно.
Только кода столько же в данном случаи напишешь, но вот итоговый файл будет весить чуть больше.
Кстати сам tween основан на использовании того же onEnterFrame.
Ну почему, тамже скорость можно менять, и более точные параметры, не говоря о эрайзе и событиях...
Ну почему, тамже скорость можно менять, и более точные параметры, не говоря о эрайзе и событиях...
В данном вопросе роли это не играет.
Но если тебе так хочется, напиши пример и выкладывай сюда :) А то говорить все мастера :)
hamstress
08.06.2006, 15:56
Спасибо за ответ и по моему коду, и по Tween. Век живи - век учись!
рассмотрю оба варианта :)
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.