PDA

Просмотр полной версии : пауза в onEnterFrame


Wadimir
08.06.2010, 20:38
Подскажите пожалуйста как сделать паузу в onEnterFrame?

udaaff
08.06.2010, 21:12
что значит паузу?

Psycho Tiger
08.06.2010, 21:13
Никак. Удалить обработчик,а потом повесить заново.

Wadimir
08.06.2010, 23:00
что значит паузу?

например крутится мувик (в onEnterFrame) нажал на кнопку он остановился. Потом опять нажал и он начал опять крутиться с того же места где остановился:)

Добавлено через 54 минуты
Никак. Удалить обработчик,а потом повесить заново.

И всё таки можно:):quiet:

rainbowrussia
09.06.2010, 00:28
Если удалить onEnterFrame не катит, то в начале функции написать что-нибудь типа
if (_root.pauseclip == 1) { return; }
а при нажатии на кнопку "пауза/плей" делать что-то типа
_root.pauseclip = 1 - _root.pauseclip;
а в начале инициализировать переменную
_root.pauseclip = 0;

Zik.
09.06.2010, 08:51
Если удалить 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
Не надо так делать.

NoCD
10.06.2010, 01:17
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;};};