Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 28.04.2008, 19:20
Danss вне форума Посмотреть профиль Отправить личное сообщение для Danss Найти все сообщения от Danss
  № 1  
Ответить с цитированием
Danss
 
Аватар для Danss

Регистрация: Apr 2007
Адрес: Ukraine,Kharkov
Сообщений: 103
По умолчанию Проблема с 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 раз после своей "смерти" и не зацикливалась?
Заранее благодарен.

Старый 28.04.2008, 19:57
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
Вы запускаете интервал, а потом сразу его убиваете. Где логика?
Замените
Код:
intervalPuwka = setInterval( createPuwka,3000 )
clearInterval( intervalPuwka )
на
Код:
intervalPuwka = setTimeout( createPuwka,3000 )
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 28.04.2008, 20:04
Danss вне форума Посмотреть профиль Отправить личное сообщение для Danss Найти все сообщения от Danss
  № 3  
Ответить с цитированием
Danss
 
Аватар для Danss

Регистрация: Apr 2007
Адрес: Ukraine,Kharkov
Сообщений: 103
Спасибо, вообще еще 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
Волгоградец вне форума Посмотреть профиль Отправить личное сообщение для Волгоградец Найти все сообщения от Волгоградец
  № 4  
Ответить с цитированием
Волгоградец
 
Аватар для Волгоградец

блогер
Регистрация: Sep 2007
Адрес: Гамбург
Сообщений: 1,648
Записей в блоге: 12
Надо так писать:
Код:
if(puwka._visible == true)
Или еще правильнее:
Код:
if(puwka._visible)
И вообще правильнее было бы запихнуть
Код:
clearInterval( intervalPuwka )
в функцию createPuwka ().
А вообще вообще самый техничный вариант написал iNils во втором посте.

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:31.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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