NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
[GM] Twoja pierwsza gra "Snake"
Autor Wiadomość
Skotar 
Plutonowy

Pomógł: 9 razy
Posty: 83

1455 Prestiż
Wysłany: 09-09-2006, 00:21   [GM] Twoja pierwsza gra "Snake"

Z tego artykułu dowiesz się, jak zrobić swoją pierwszą grę, a mianowicie "Snake".

Tworzymy dwa Sprite'y 32x32 o kształcie kwadratu. Pierwszy nazywamy glowa, a drugi ogon. Tworzymy jeszcze jednego Sprite'a o wymiarach 32x32 o kształcie koła i nazywamy go owoc.

Teraz bierzemy się za silnik. Tworzymy Object'a o nazwie obj_glowa i nadajemy mu Sprite'a o nazwie glowa. Tworzymy akcję Create i piszemy kod:



Kod:
direction=0;
czasruchu=7;
alarm[0]=czasruchu;
dlugosc=10;



Teraz tworzymy w tym samym obiekcie akcję Alarm 0 i piszemy w nim kod:



Kod:
instance_create(x,y,obj_ogon);
nastepneX=x+32*cos(degtorad(direction));
nastepneY=y-32*sin(degtorad(direction));
if (instance_place(nastepneX,nastepneY,obj_ogon)) {
show_message("Porażka!");
game_end();
}
x=nastepneX;
y=nastepneY;
alarm[0]=czasruchu;
image_single=direction div 90;



Tworzymy teraz akcję press <Left> i piszemy kod:



Kod:
direction=180;



Tworzymy następnie press <Up> I piszemy kod:


Kod:
direction=90;



Tworzymy press <Right> I piszemy kod:



Kod:
direction=0;



Tworzymy press <Down> I piszemy kod:


Kod:

direction=270;



Tworzymy Outside Room i piszemy kod:



Kod:
move_wrap(true,true,32);



No to już większość pracy za nami ale do tego obiektu jeszcze wrócimy.

Tworzymy Object'a o nazwie obj_ogon i nadajemy mu Sprite'a o nazwie ogon. Tworzymy w nim akcję Create i piszemy kod:



Kod:
alarm[0] = obj_glowa.dlugosc * obj_glowa.czasruchu;



Stwarzamy akcję Alarm 0 i piszemy kod:



Kod:
instance_destroy();



Teraz tworzymy Object'a obj_owoc i nadajemy mu Sprite'a o nazwie owoc i nic w nim nie tworzymy.

Teraz powracamy do Object'a obj_glowa i tworzymy akcję Collision z owoc i piszemy kod:


Kod:

score += 5;
instance_create(random(room_width-32), random(room_height-32), obj_owoc);
with (other) instance_destroy();
dlugosc += 1;



I na tym koniec.
Ostatnio zmieniony przez Minty 09-09-2006, 09:34, w całości zmieniany 1 raz  
 
 
     
Jakim 
Młodszy chorąży
Mjuzik Mejker


Pojedynki: tak
Pomógł: 4 razy
Posty: 263

21763 Prestiż
Wysłany: 10-09-2006, 04:01   

Hmm, ten artykuł wiele nie nauczy "zielonego" usera (brak komentarzy, objaśnień co do funkcji i komend) ;) .

Pytania testowe:


Kod:
nastepneX=x+32*cos(degtorad(direction));


1. Jak działa ten kod?
2. Na czym ten skrypt polega?
3. Do czego służy zmienna nastepneX?
4. Dlaczego użyłeś funkcji trygonometrycznych i jakie masz z tego korzyści?

:P
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group