Liczba żyć w AS2

Witam.

Potrzebuje kodu na liczbe żyć.

Czyli ustanawiamy że na poczatku mamy trzy życia, jesli dojdzie do jakiego zdarzenia na scenie liczba żyć zmniejszy sie o jeden i po wytraceniu żyć przechodzi do odrebnej klatki game over.

Dzieki za pomoc.

Co to AS2?

ActionScript2 zapewne.

Tak ActionScript 2

Może powiesz dokładniej, czego oczekujesz? Bo sposobów na zrobienie tego jest multum…

Kazuldur widze ze w temacie jestes :slight_smile: no wiec wymysliłem juz coś takiego :

var zycia:Number = 100; //liczba żyć

var mojStyl:TextFormat = new TextFormat(“Arial”, 16, 0xFFFFFF, true);

createTextField(“liczbazyc”,1001,443,150,153,50);

liczbazyc.setNewTextFormat(mojStyl);

liczbazyc.text = "Liczba żyć: " + zycia;

onEnterFrame = function()

{

if(zycia == 0){

liczbazyc.removeTextField();

gotoAndStop(2);

delete this.onEnterFrame;

}

}

Tutaj działa to w ten sposób że w chwili gdy nasz obiekt spotka się z wrogiem (dotknie go) tak jakby “damage” w kodzie Liczba żyć ze 100 leci w dół.

Znasz jakiś prostszy lub lepszy sposób?

Dodane 18.01.2012 (Śr) 23:29

acha Kazuldur jeszcze jedno mam pytanko, jak zrobić zeby moj obiekt nie wychodził poza kadr, to chyba jakas ramka bedzie czy coś. Zeby zatrzymywał sie z boku ekranu a nie znikał.

W temacie absolutnie nie jestem, nigdy w ActionScript nie pisałem, ani nic we Flashu nie robiłem. Jeżeli Twój sposób działa, to nie widzę problemu. Patrząc na ten kod odnoszę jednak wrażenie, że on co klatke (czy co to tam we Flashu jest :P) sprawdza, czy życie spadło do 0. Trochę bez sensu, wystarczy to sprawdzać tylko w momencie wejścia na wroga, gdy życie jest zmniejszane.

Co do ograniczenia wychodzenia za kadr, to przy poruszaniu postacią, czy jakimś obiektem, musisz sprawdzać, czy jego współrzędne po wykonaniu ruchu nie będą mniejsze od 0 lub większe od rozmiaru kadru (powinna być jakaś funkcja w AS by te wymiary kadru pobrać). Jeżeli takie będą, to po prostu nie przesuwasz obiektu.

Nie znam jednak Flasha, patrzę na to ogólnie “programistycznie”, więc może to wyglądać zupełnie inaczej :slight_smile: