Просмотр полной версии : пауза в onEnterFrame
Подскажите пожалуйста как сделать паузу в onEnterFrame?
Psycho Tiger
08.06.2010, 21:13
Никак. Удалить обработчик,а потом повесить заново.
что значит паузу?
например крутится мувик (в onEnterFrame) нажал на кнопку он остановился. Потом опять нажал и он начал опять крутиться с того же места где остановился:)
Добавлено через 54 минуты
Никак. Удалить обработчик,а потом повесить заново.
И всё таки можно:):quiet:
rainbowrussia
09.06.2010, 00:28
Если удалить onEnterFrame не катит, то в начале функции написать что-нибудь типа
if (_root.pauseclip == 1) { return; }
а при нажатии на кнопку "пауза/плей" делать что-то типа
_root.pauseclip = 1 - _root.pauseclip;
а в начале инициализировать переменную
_root.pauseclip = 0;
Если удалить onEnterFrame не катит
Смотря что написано в onEnterFrame.
В моем примере катит.
rainbowrussia, в вашем случае крутящийся клип будет всегда привязан к корню. Это плохо
И всё таки можно:):quiet:
Нельзя. Вам же сказали
rainbowrussia
09.06.2010, 10:41
rainbowrussia, в вашем случае крутящийся клип будет всегда привязан к корню. Это плохо
Тогда лучше заменить _root на this.
Ну а если 100% нагрузка и подвисание не пугает, можно так "запаузить" onEnterFrame:
var t = getTimer();
while (getTimer() < t + 1000) { // 1 секунда
}
Psycho Tiger
09.06.2010, 14:00
Не надо так делать.
flag_pause = true;
var clip:MovieClip = _root.attachMovie("clip_mc","clip",1)
clip._x = 50;
clip._y = 200;
clip.onEnterFrame = engine_clip;
var but_btn:MovieClip = _root.attachMovie("but_btn","but_btn",2)
but_btn._x = 50;
but_btn._y = 300;
but_btn.onPress = btn
function btn(){
if(flag_pause){flag_pause = false;}else{flag_pause = true};
}
function engine_clip(){ if(flag_pause){this._x += 1;};};
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.