Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема с clearInterval (http://www.flasher.ru/forum/showthread.php?t=111490)

Danss 28.04.2008 19:20

Проблема с clearInterval
 
Доброго времени суток. У меня такая проблема: игрушка: пушка убивает падающих на нее сверху врагов, когда в нее поподает враг она взрываеться и я хочу чтобы она появлялась,скажем через 3 секунды. Я делаю так :
Код:


if(vrag.hitTest(puwka)) {
puwka._visible = false;
expl_puwka._x=puwka._x;
expl_puwka._y=puwka._y;
expl_puwka.play();    // взрыв пушки
intervalPuwka = setInterval( createPuwka,3000 ) // createPuwka - фун-я созддания пушки
clearInterval( intervalPuwka )
}

при поподании врага в пушку, она проподает и больше не появляеться никогда.
Если убрать clearInterval то пушка, при поподании в нее врага пропадает и появляеться через 3 секунды, но это действие зацикливаеться и повторяеться постоянно.
Подскажите пожалуйста: Как правильно организовать clearInterval так, чтобы моя пушка появилась 1 раз после своей "смерти" и не зацикливалась?
Заранее благодарен.

iNils 28.04.2008 19:57

Вы запускаете интервал, а потом сразу его убиваете. Где логика?
Замените
Код:

intervalPuwka = setInterval( createPuwka,3000 )
clearInterval( intervalPuwka )

на
Код:

intervalPuwka = setTimeout( createPuwka,3000 )

Danss 28.04.2008 20:04

Спасибо, вообще еще 1 вопростик: я пытался сделать еще так:

Код:

if(vrag.hitTest(puwka)) {
puwka._visible = false;
expl_puwka._x=puwka._x;
expl_puwka._y=puwka._y;
expl_puwka.play();    // взрыв пушки
intervalPuwka = setInterval( createPuwka,3000 ) // createPuwka - фун-я созддания пушки

}
if(puwka._visible = true) {
clearInterval( intervalPuwka )
}

но тоже не прошло.

Волгоградец 29.04.2008 10:56

Надо так писать:
Код:

if(puwka._visible == true)
Или еще правильнее:
Код:

if(puwka._visible)
И вообще правильнее было бы запихнуть
Код:

clearInterval( intervalPuwka )
в функцию createPuwka ().
А вообще вообще самый техничный вариант написал iNils во втором посте.


Часовой пояс GMT +4, время: 12:19.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.