GAME MAKER -->Dakle :

6

GAME MAKER -->Dakle :

offline
  • Pridružio: 03 Okt 2009
  • Poruke: 246

kada dodje do kolizije, vspeed je ispravno=0...
Ali... to ne znachi da si resio koliziju... nje ima i dalje...
Podrhtavanje loptice je zato sto imas dve suprotne komande na isti objekat. Jedna je idi na dole brzinom vspeed, a druga, pri koliziji promeni smer kretanja. Nema drugog nacina da proizvedes takav(slucajan) efekat podrhtavanja . Dakle, u momentu kolizije loptica krene na gore (negativna brzina), u momentu kad krene na gore nestaje i uslova kolizije, vraca se uslov vspeed koji opet tera lopticu na dole, i tako beskonacno u krug. Vizualno se to vidi kao podrhtavanje.

Znaci, u momentu kolizije postavi sledece

{ vspeed=0; // brzina na dole =0
y=yprevious; // vrati loptu u vis na posledenje y pre nego se desila kolizija
}
pa onda ponisti gravitaciju ako je imas, etc etc...
NIsam gledao primer, ali predpostavljam da si stavio i gravitaciju.
Ako si postavio samo vspeed onda to bas i nije realno zato sto nema ubrzanja pri padu...
Kako god... Opet da ponovim... Korak po korak odgovor na ovo pitanje imas u tutorijalu koji je na srpskom a link u postu iznad tvog...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 26 Okt 2008
  • Poruke: 1560
  • Gde živiš: Sremski Mihaljevci

Ja sam radio da mi jedna kockica ide levo, desno, skace i padne dole po jednoj sobi, ali mi nije jasno kako da uradim da mi se soba promeni kada kockica izadje iz sobe u kojoj je?



offline
  • Pridružio: 03 Okt 2009
  • Poruke: 246

prvo... osim room0 moras imati i room1...

u objektu, koji je prekidac za prelaz u drugu sobu, koliko sam shvatio to je kod tebe kocka, koja kad izadje iz jedne treba da udje u drugu sobu...
Paz sad...
Imas 2 nacina za taj efekat.
1: da napravis nesto kao vrata, prolaz, etc.. znaci objekat koji postavis negde na kraju sobe ( mada to gde je nije ni toliko bitno, moze bilo gde)
I kada tvoja kocka napravi koliziju sa tim objektom u kolision event
postavis room_goto_next(); // za prvu sledecu sobu koja postoji...
mozda jedan nacin toga istog sa proverom da trenutna soba nije i poslednja, i ako jeste zavrsava se igra....
{
if (room != room_last) // ako ova soba nije i poslednja
{
room_goto_next(); // idi na sledecu sobu
}
else // u svakom drugom slucaju
{
game_end(); // zavrsi igru.
}
}

imas jos jedan nacin... za iniciranje prelaska u sledecu sobu... Ovde ti ne treba objekat za koliziju, pa je stoga i interesantan kao nacin.
U ADD EVENT ( dugme u editoru objekta) izaberi iz menija "Other" , a iz tog menija "outside room" , sto znaci Van sobe..Smile

dakle, kad je tvoja kocka VAN tvoje trenutne sobe, aktivira se ovaj Event, a u okviru njega, dodaj isti kod, koji sam vec napisao gore za sam prelazak...
Takodje procitaj o TRANZICIJAMA.. ima odlicnih efekata za prelaz iz sobe u sobu.. Smile

koliko da napomenem... mozes u sobu koju hocesh komandom
room_goto(numb) //Idi u sobu indexa numb.
a za predhodnu sobu napises
room_goto_previous() ;

dakle, igre bez granica.. samo napred... Smile

offline
  • Pridružio: 11 Feb 2006
  • Poruke: 166
  • Gde živiš: Loznica

mycity.rs/must-login.png


jasno mi je zasto lopta drhti ali fazon je sto sam ja prepisao orgin. cod koji radi i uzeo orgin. resurse i kod mene loptica odmah propadne ZASTO? a kada stavim vspeed=-1ona prilikom kolizije ona podrhtava molim te vidi kod

offline
  • Pridružio: 03 Okt 2009
  • Poruke: 246

imas jedan mali propust... ali vidis kako se ponasa sa njim...

Naime... Sve kolizije si postavio da rade sa 'solid object' , a tebi tvoja kocka, NIJE solid...
Otvori objekat koji si nazvao " blok" i cekiraj kocku ' Solid"


Probaj sad.. Smile

offline
  • Pridružio: 26 Okt 2008
  • Poruke: 1560
  • Gde živiš: Sremski Mihaljevci

evo da vidite sta sam ja dosada uradio.....


https://www.mycity.rs/must-login.png
nisam bas nesto razumeo sto se tice... u predhodnu i sledecu sobu.....

i kako da stavim neku animaciju... npr. isto u ostalim igrama, kad se startuje prvo se pojavi kao prica a kada se to zavrsi startuje se igra... u mom sucaju bi to bile slike koje bi se smenjivale od 10-15 sec ili neko video, sta je lakse... hvala zmmaj, najbolji si!

offline
  • Pridružio: 03 Okt 2009
  • Poruke: 246

Napisano: 18 Dec 2009 23:22

EEEEEEEeeeeeee... svaka cast...
Za pocetak vise nego dobro.. samo napred....
Sad zameni kocke, animiranim sprajtovima...Smile

i evo nacina... kako sa animiranim pocetkom.. Smile
http://zmajsoft.com/plus/index.php?option=com_phoc.....mp;lang=sr

skini fajl pod imenom Kajron tutorijal...
Malo je veci, stavio sam prevelike slike.. mrzelo me da ih kompresujem...
I teraj dalje... Smile

Sto se tice soba... pa prosto, kako si izveo da odes u sledecu sobu, tako mozes da se vratis u predhodnu... MOzda su te kodovi malo zbunili, ali oni samo sluze za proveru postoji li sledeca soba. Razlog je vrlo prost, krahirace ti igrica ako krenes u sobu koja ne postoji.. Smile

Dopuna: 18 Dec 2009 23:40

Jedan TIP vezan za proces programiranja...
Naime, kad radite programiranje kodovima, vrlo se cesto desavaju propusti koje ne mozete da provalite...
Igrica ne krahira, ali se i ne desava ono sto ste vi zeleli...
U stvari nemate pojma sta se desava....
Najcesce greske nastaju u petljama i pri uslovljavanjima " if, then, else"
Pri prekidacima (komanda switch) kada se obicno zaboravi zavrsetak break.... etc.. Smile

U takvim situacijama ja najcesce koristim za proveru dokle "KOD" ide OK
najprostijom metodom.
jednostavno umetnem show_message('ok');
Ukoliko kod uopste stigne do tog mesta prikaze se OK poruka.... Smile
ako ne, trazim gresku...

I sto cesce na " Save" dugme... Po pravilu pre svakog starta.
JOs je pametnije " save as" pa dodajte broj (igra0, igra1, igra2 etc), Ovo iz razloga sto uvek mozete da se vratite korak nazad (sa igra2 na igra1) ukoliko bas zapnete sa nekim delom koda.. Smile

Nadam se da sam pomogao...

offline
  • Pridružio: 26 Okt 2008
  • Poruke: 1560
  • Gde živiš: Sremski Mihaljevci

isti nacin za predhodnu mi kaze.... ako sam u sobi 1, odem u sobu 2, i kad pokusam da se vratim na isti prolaz u sobu 1... on me odvede u sobu 3.... Very Happy... ne znam gde kodove da pisem....

p.s. programer sam u visual basicu 2008.....
i hvala zmmaj....

offline
  • Pridružio: 03 Okt 2009
  • Poruke: 246

ne znas gde kodove?
Ajmo prvo po objektu... Dakle Umesto



postavi sledece


I u ovom novom prozoru pises kodove...
Stvar se ponasa apsolutno isto kao deo koda u VB...
Znaci ako postavis drag&drop akciju ispred ovog koda, normalno, desice se pre koda, ako drag&drop postavis iza, desice se posle izvrsenja ovog koda....isto vazi i sa novim kodom... UVEK se izvrsava logickim putem, i uvek jedno po jedno.

za razliku od VB gde skaces na br linije koda, ovde se skace na ime...


Medjutim, ovde nisu granice...
Ubrzo ces uvideti, da je dosta zbrkano, ako sve sto napises napises tu, narocito ako ima vise od 100-tinak redova koda...
E, onda se koristimo skriptama...
Imas sa leve strane u samom meniju programa, izborni folder " script"
unutra se upisuju skripte...
MOzes da napravis folder, pa podfolder, pa podfolder.. nema apsolutno nikakve veze... GM trazi skriptu po imenu, a ne po vizualnom smestaju u samom editoru.
Dakle... tih 100-tinak redova koda, koje sam malo pre spomenuo, mozes da prebacis u skriptu koju bi imenovao npr " skripte_sa_100_redova_koda", a umesto tih 100-tinak redova koda u objekat napises samo
skripte_sa_100_redova_koda();
cime automatski pozivas tu skriptu, i sve se ponasa bas kao da su tih 100 redova koda bas tu, a ne tamo u nekoj skripti...
mozes ti skriptu sa tih 100 kodova da postavish van programa...
ispisi sve sto ti treba u obican txt fajl...
imenuj ga recimo " dodatak.txt" ( ovo txt je nebitno.. stavi extenziju koju pozelis, ili ni jednu ), i umesto tih 100-tinak redova koda napises samo
execute_file('dodatak.txt', '' ,0);
i sa zaista malim zakasnjenjem ( obzirom da ga sada cita sa harda ) krece izvrsenje bas kao da se ti kodovi nalaze u samom programu, a u stvari su na hard disku, sto nije ogranicenje... Mogu biti bilo gde, pa i negde na internetu...Smile

Ja u pokusaju da objasnim ono sto se stvarno desava, cesto izgubim nit, i povedem na drugu stranu... Ne zamerite, pitajte ako sam sta zapetljao...
Meni se objasnjenje cini jasnim, ali to ne znaci da sam ispravno objasnio i da je jasno i vama, sto mi jeste cilj.

offline
  • Pridružio: 11 Feb 2006
  • Poruke: 166
  • Gde živiš: Loznica

zmmaj ::imas jedan mali propust... ali vidis kako se ponasa sa njim...

Naime... Sve kolizije si postavio da rade sa 'solid object' , a tebi tvoja kocka, NIJE solid...
Otvori objekat koji si nazvao " blok" i cekiraj kocku ' Solid"


Probaj sad.. Smile


sad je ok hvala zmmaj

Ko je trenutno na forumu
 

Ukupno su 1029 korisnika na forumu :: 38 registrovanih, 7 sakrivenih i 984 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: A.R.Chafee.Jr., anta, babaroga, bbogdan, Ben Roj, bladesu, Bobrock1, bokisha253, Boris90, darkangel, FOX, Georgius, goxin, Insan, ivan979, Jakov01, Karla, Komentator, krkalon, Kubovac, mercedesamg, Mercury, mikrimaus, Millennium, Milos ZA, naki011, Oscar, Prašinar, ruma, Simon simonović, Sir Budimir, tomigun, tubular, Tvrtko I, VJ, Vlada78, voja64, šumar bk2