Форум 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)
-   -   Жизни (http://www.flasher.ru/forum/showthread.php?t=98068)

Trilan 05.07.2007 21:13

Жизни
 
При столкновении врага с персонажем, у него отнимаются жизни. Как сделать так, чтобы когда жизней становится 0, сама игра переходила на другой кадр?

BigDan 05.07.2007 21:15

onEnterFrame(если требуется)+if()+gotoAndPlay(Stop)

Trilan 05.07.2007 21:31

Уже пробовал этот вариант. Есть какие-нибудь другие варианты? Кстати, может tellTarget'ом, может получится, или нет?

Kikasso 05.07.2007 21:36

Какой другой вариант, кроме if ? Когда жизнь уменьшаете, тогда и проверяйте.
Только не
Код:

if(life == 0)...
а
Код:

if(life <= 0)...

BigDan 05.07.2007 21:44

Код:

onEnterFrame = function(){
  if(life <= 0){
    _root.gotoAndPlay(нужный_кадр)
    delete this.onEnterFrame;
  }
}

Чем этот вариант плох?

screamge 05.07.2007 21:48

а как на счёт watch?

Trilan 05.07.2007 22:18

Kikasso и BigDan спасибо! Ошибка была в том, что я писал ==.
И как сделать, чтобы пропадали все объекты, после перехода? А то враги остаются.

Kikasso 05.07.2007 22:19

Ну можно еще life геттер - сеттером сделать ( addProperty )

upd: а, нашлась ошибка.
Чтобы врагов убивать, их надо регистрировать, как-то так, допустим:
Код:

_global.ENEMYES_:Object = new Object();
// enemy - мувиклип, добавим
ENEMYES[ enemy._target ] = enemy;
// удалим все
for(var e in ENEMYES){
 ENEMYES[e].removeMovieClip();// или спец-функция для уничтожения
 delete ENEMYES[e];
}

если удаляете врага заранее - удалите и ссылку на него.


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

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