Strielanie(Javascript)

Programovacie jazyky, rady, poradňa...
Tiestik
Amateur
Amateur
Príspevky: 24
Registrovaný: 26 apr 2014, 18:49

Strielanie(Javascript)

Príspevok od používateľa Tiestik »

Cau chlopy,

Mam taky problem :(

neviete ako spravit strielanie

takto vyzera hra
http://www.upnito.sk/0/qsevbncqw8ftxg3y ... z25guj.png
vlastne ti dvaja panaci sa hybu, nemozu prechadzat cez steny tie dve gulicky su teleporty

a jedine co neivem spravit je strielanie, myslym samozrejme strielanie do kazdej strany vzdy na ktoru stranu je ten panak otoceny tam striela,oni by mali strielat to monstrum co je v strede

keby ste chceli kuknut na cely kod tak poslem niako

dakujem za kazdu radu :)
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Strielanie(Javascript)

Príspevok od používateľa audiotrack »

hej, z obrázku ti iste poradíme :slap:
Veď ani len netušíme či to vykresluješ na canvas alebo sú to divy čo pohybuješ, netušíme či nejaký framework (raphael, jquery...), netušíme nič. Iba si nám poslal obrázok a vieme o čo v tej hre ide. Teda samé nepodstatné veci. Ale to najhlavnejšie nenapíšeš
Tiestik
Amateur
Amateur
Príspevky: 24
Registrovaný: 26 apr 2014, 18:49

Re: Strielanie(Javascript)

Príspevok od používateľa Tiestik »

sorry :D

dal som to radsej do raru, lebo kodu je tam docela dost, a je to rozdelene na viac JS suborov

je to v canvase
Prílohy
HRA.rar
(1.35 MiB) 69 stiahnutí
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Strielanie(Javascript)

Príspevok od používateľa audiotrack »

no tak hlavne si musíš vytvoriť nový objekt, napríklad bullet. Môže dediť z toho gameobject. Ten objekt bude v celku jednoduchý, bude mať nejaký timer čo ho vždy posunie o jednotku v danom smere. To bude v jeho metode move. V objektoch hrac a hrac2 (nechápem prečo samostatné triedy, ale dajme tomu) bude v metode move ešte jedna vetva pre medzerník, čo vytvorí bullet (parametre konštruktoru by mali byť komu bullet patrí, a smer. Prípadne počiatočná pozícia). Tým pádom si treba uchovávať jednu stavovú premennú kam sa panáčik pozerá. Tiež to bude ukladané v tých istých podmienkach pohybu metody move. Kolíziu náboju s diablom spravíš rovnako ako iné kolízie, takže to bude v podstate copy-paste tej metody. Celé je to trošku chaoticky, a ignoruješ niektoré zásady OOP ale nie je to zas tak hrozne napísané takže by to nemalo byť nič komplikované
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: Strielanie(Javascript)

Príspevok od používateľa S-player »

Podľa mňa by si si mal niečo spraviť s tým zdrojákom. Len v rýchlosti som sa nato pozrel a jeden názov premennej máš v SJ druhý zasa v AJ... jedna premenná zapísana ako camelCase druhá zasa ako snake_case. Taktiež deklarácie premenných

Niekde máš:

Kód: Vybrať všetko

for (var i in x) {}
inde zasa

Kód: Vybrať všetko

for (i in x) {}
čo znamená ,že i je globálna premenná.


// Celé to menu by bolo najlepšie nahodiť nejako do JS nech to vyzerá lepšie pretože to preblikávanie je hrozné...
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Strielanie(Javascript)

Príspevok od používateľa audiotrack »

nemusí to automaticky znemanať že je globálna, iba sa hľadá v najbližšom vyššom scope (a to rekurzívne až do rootu, ak sa nenájde, potom sa vytovrí globálna). Takže bez toho aby si napísal kde bola i zadeklarovaná, a či vôbec sa nedá z toho cyklu určiť či vytvorí globálnu, alebo ju má v nejakej metode s tým cyklom zadeklarovanú a teda si ju kľudne môže prepisovať ako chce lebo po skončení metody zaniká. Ale súhlasím že je dobrým zvykom sa naučiť pre cykly to kľúčové slovko var používať (a od verzie 1.7 máme čarovnú deklaráciu let)
S-player
Light Star
Light Star
Príspevky: 277
Registrovaný: 23 júl 2011, 22:30

Re: Strielanie(Javascript)

Príspevok od používateľa S-player »

audiotrack napísal:nemusí to automaticky znemanať že je globálna, iba sa hľadá v najbližšom vyššom scope...
Ak by mal premennú i zadeklarovanú (dajme tomu) v rovnakej funkcii ,v akej používa aj daný cyklus tak to tu ani nespomínam no nič také som si nevšimol preto som nato upozornil. Taktiež odignoroval všetky čiarky a bodkočiarky ,ale tak to je už jeho vec.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Strielanie(Javascript)

Príspevok od používateľa audiotrack »

hej, tie bodkočiarky som si aj ja všimol že s nimi nie je kamarát. Hold, ak to raz bude chceť minimalizovať, tak sa ubodkočiarkuje :D
Napísať odpoveď