Diskuze: Tower defence-otáčení věže za cílem

Ostatní jazyky GameMaker GameMaker Tower defence-otáčení věže za cílem

Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

Chci se zeptat když mám v tower defence věž s dělem tak chci aby když střílí aby se také na něj otočila. Hledal jsem tutoriáli jak na to ale nic z toho mi nefungovalo, furt v tom byla nějaká chyba. Stačí mi kdyby někdo napsal kód a napsal kam ho mám vložit. Předem dík.

 
Odpovědět 3.9.2013 17:10
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na LakkyNorris
martinsakra:

image_angle=po­int_direction(sel­f.x,self.y,mou­se_x,mouse_y)

tohle je příkaz na otáčení za myší (volá se každý step ve scriptu) a jen to uprav na otáčení za co to potřeuješ

Editováno 3.9.2013 18:01
Nahoru Odpovědět 3.9.2013 18:01
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

Dal jsem to tam ale když jsem vyměnil mouse_x a mouse_y za tu potvoru po kom má střílet tak je otočená jen jedním směrem a nehejbe se. Asi nwm jak si to myslel.

 
Nahoru Odpovědět 3.9.2013 18:21
Avatar
martinsakra
Redaktor
Avatar
Odpovídá na LakkyNorris
martinsakra:

avoláš ten script každej krok/step znovu? si si jistý že "otáčíš" za správnou instancí potvory? (resp, když tam necháš myš funguje ti to?)

  • tlačítko odpovědět má svuj význam :D
Editováno 3.9.2013 18:31
Nahoru Odpovědět 3.9.2013 18:31
Democracy is two wolves and a lamb voting on what to have for lunch. Liberty is a well-armed lamb contesting the vote.
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na martinsakra
LakkyNorris:

Nic s myší to přece nemá společnýho. Je to tower defense hra takže každá ta věž by se měla otočit na toho, na koho střílí.

 
Nahoru Odpovědět 3.9.2013 18:43
Avatar
Odpovídá na LakkyNorris
Vojtěch Pospíchal:

On ti napsal možnost, jak to otestovat. Použij místo zaměření příšery myš a pokud to bude fungovat, pak bude zřejmě problém s příšerou (respektive s hledáním pozice příšery).

 
Nahoru Odpovědět  +1 3.9.2013 18:50
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na Vojtěch Pospíchal
LakkyNorris:

Tak jsem opravdu nevědel jak to mysel :D. Jinak když tam nechám myš tak to funguje. Tím pádem asi nwm jak mám udělat aby se zaměřili na toho na koho střílí.

 
Nahoru Odpovědět 3.9.2013 18:59
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Když přece víš kam střílet, musí ti být jasné, kam otáčet.
Potřebuješ prostě identifikovat instanci
( např. pomocí instance_nearest ).

Nahoru Odpovědět 3.9.2013 19:08
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na TomBen
LakkyNorris:

Mně je jasné kam otáčet ale nwm jak to tý věži mám vysvětlit. :D

 
Nahoru Odpovědět 3.9.2013 19:28
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Třeba takhle:

direction=point_direction(x,y,(object1).x,(object1).y);
draw_sprite_ext(sprite_index,image_index,x,y,1,1,direction,c_white,1);
Nahoru Odpovědět 3.9.2013 19:36
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na TomBen
LakkyNorris:

Napsal jsem tam přesně tohle akorát místo object1 jsem dal toho příšeráka a ta věž furt střílí ale neotáčí se.

 
Nahoru Odpovědět 3.9.2013 19:51
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

Sry že tu jsem za takovýho vola ale já se timhle zabejval x hodin,prohledával jsem tutorialy a zkoušej.Jsem z toho úplně vygumovanej a vynervovanej protože nwm proč to nejde.

 
Nahoru Odpovědět 3.9.2013 20:00
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

To co jsem psal funguje. Můžeš kouknout:
http://uloz.to/…/otaceni-zip

Takže prostě hledej, cos napsal blbě.

Nahoru Odpovědět 3.9.2013 20:02
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na TomBen
LakkyNorris:

Nebude problém v tom že já mám víc příšerek jednoho typu?

A navíc když jsem ten kód vložil do té hry, tak mi to vypsalo chybu dokud jsem nesmáznul to ".x" a ".y" a pak když jsem to zapnul tak to stejně nešlo.

 
Nahoru Odpovědět 3.9.2013 20:11
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Ježkovy voči. Error nemůžeš řešit tak, že prostě něco smažeš.
Error ti pomáhá najít chybu.

Nahoru Odpovědět 3.9.2013 20:15
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

A samozřejmě, že při více instancích nemůžeš psát objekt jménem.

Nahoru Odpovědět 3.9.2013 20:16
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

Takže ten kód co jsi mi poslal je mi k ničemu?

 
Nahoru Odpovědět 3.9.2013 20:18
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Jen vyměníš název objektu za id instance.

Nahoru Odpovědět 3.9.2013 20:32
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

:o Co je to id instance???

 
Nahoru Odpovědět 3.9.2013 20:37
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Koukám, žes ty tutoriály vzal pěkně hákem..
Když naklikáš do roomu stejný objekt několikrát, tak těm jeho výskytům
se říká instance. Každá z nich má své číslo - id.
Toto číslo můžeš vidět v room editoru a některé funkce ti toto
číslo vrátí a umožňují ho použít.
( např. funkce instance_nearest, create_instance, atd. )

edit: Jinak doporučuji dělat pokusy na prázdném GM.
Když to vždycky namatláš do hry, nebudeš vědět, co nejede a proč.

Editováno 3.9.2013 21:40
Nahoru Odpovědět 3.9.2013 21:38
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na TomBen
LakkyNorris:

Já ty tutoriály nebral hákem. Mám dokonce stáhnutý 3 tower enginy a prostě nwm kterej kód nakazuje věžím to aby se na svůj cíl otáčeli. Já jen chci aby mi s tim někdo poradil neboť v tom nejsem dobrej.

 
Nahoru Odpovědět 4.9.2013 14:00
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Chtěl jsem tím říct, že na to jdeš z opačné strany.
Hledat konkrétní řešení, když nerozumíš základům je špatná volba.
Můžeš mít staženo i padesát cizích kódů. U programování potřebuješ
znát elementární postupy a pak z nich skládáš program. Když je
neznáš, zbytečně se snažíš dělat hru. Informací, které ti cizí kód
poskytne, je mizivé množství a hra, kterou takto vytvoříš není vlastně
vůbec tvoje práce a u příští hry na tom budeš stejně špatně.
Hledej tutoriály na programování obecně, ne na konkrétní hry.

Nahoru Odpovědět 4.9.2013 15:06
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

Vždiť já furt hledám nějaký tutoriály ale prostě když to nikde nemůžu najít tak se spolehnu na to že to opíšu, podívám se na to a pak zjistim v čem to je.
Ale pokud ten kód neuvidim tak jak mám asi přijít na to jak se to dělá?! Vždit když jsem vytvářel tu svojí hru tak jsem se tky něco dozvěděl neboť jsem předtim vytvářel jenom skákačku. Když teda nefunguje ani opisování. Myslel jsem že mi teda pomůže když se zeptám tady. Ale to asi tky ne.

 
Nahoru Odpovědět 4.9.2013 15:33
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Ptát se můžeš, ale když se zeptáš, jak se programuje Tower Defense,
je to zářný příklad špatné otázky. Ptej se jak fungují objekty,
ptej se na dědičnost, na fungování událostí, atd.

Nahoru Odpovědět 4.9.2013 15:40
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

Co kdyby jsi si nechal poradita použil nejbližší instanci, podle toho co píšeš asi nemáš dost znalostí na použití složitější metody

aa = instance_nearest(x,y, enemy);
image_angle = point_direction(x,y,aa.x,aa.y);
// shoot direction = point_direction(x,y,aa.x,aa.y);
Nahoru Odpovědět 4.9.2013 15:41
Přecházím na "Cross-Platform Development"
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Theodor Johnson
TomBen:

Řekl bych, že on to zas dá Cut&Paste někam doprostřed
toho guláše, co odněkud nakopíroval z jiných webů.
Bude mít i s dobrým kódem šanci jen okolo 50%, že mu to
pojede. Navíc už to tu měl několikrát a zjevně se ani
jednou nechytl. Doporučil bych začít s něčím snazším,
ale bez cizích kódů. Jen vlastní hlavou.

Editováno 4.9.2013 15:54
Nahoru Odpovědět  +1 4.9.2013 15:54
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

1.Když tam napíšu tamten kód tak mi to vypíšu chybu kterou se měl i u těch ostatních
2.Něco snadnějšího jsem už zkoušel a pak jsem si řek že bych mohl zkusit něco těžšího a když jsem na tower defense viděl tolik tutoriálu tak jsem si myslel že by to nemuselo bejt zas tak těžší.
3.Jak můžeš říct že to je patlanina když si to ani neviděl. Prostě jsem vzal z jedný tower defence hry část z druhého TD část a když jsem se díval na jiný tutoriály tak to jako patlanina vypadalo spíš u nich.

 
Nahoru Odpovědět 4.9.2013 16:14
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Vím, že to je patlanina, z toho cos sám napsal.
Když vezmeš půlku jedné patlaniny a přidáš půlku druhé patlaniny,
získáš patlaninu ještě vyššího stupně než ty dvě první.
Kdybys to měl alespoň vlastní, tak bych ti napsal, ať to sem dáš
a opravil bych ti to. Ale nemám moc chuť opravovat chyby v něčem,
co ani není tvoje.

Editováno 4.9.2013 16:33
Nahoru Odpovědět  -1 4.9.2013 16:32
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

jo hlavně že jednu "patlaninu" máte tady na stránce. :D

 
Nahoru Odpovědět  -1 4.9.2013 16:55
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na LakkyNorris
Honza Bittner:

Říkals že věže střílí dobře ... tudíž bys mohl připsat kód na otáčení ke střelbě ...

Tzn. jakmile věž začne střílet, také se otočí na cíl ...

Nahoru Odpovědět 4.9.2013 17:08
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

Ale jak to říct té věži když mám víc jednotek stejnýho typu a mám tam object kterej vytváří ty příšerky.

 
Nahoru Odpovědět 4.9.2013 17:12
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

Ten object který je vytváří s tím nemá nic společného, je neutrální, nemá životy a nedá se po něm střílet, tak proč na něj chceš mířit?

Nahoru Odpovědět 4.9.2013 17:37
Přecházím na "Cross-Platform Development"
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na Theodor Johnson
LakkyNorris:

Já to sem píšu kvůli tomu protože TomBen mi řekl kód který funguje jen když prostě vezmu tu příšerku a vložím jí do hry. Ale já tam mám spawner který ty příšerky vytváří a já nwm jak mám té věžce přikázat aby se obrátila na tu příšerku na kterou útočí a ne na někoho jinýho.

 
Nahoru Odpovědět 4.9.2013 17:42
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

To už je složitější, když to nedokážeš vymyslet použij nearest, když nedokážeš použít ani nearest, nedělej TD hru

Nahoru Odpovědět 4.9.2013 17:43
Přecházím na "Cross-Platform Development"
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Co kdybys tomu dal trochu čas a popřemýšlel nad tím.
Řešení už tady bylo víckrát, jen ho musíš pochopit.
Když se budeš opravdu snažit, tak to dáš.

Nahoru Odpovědět 4.9.2013 17:47
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

ok ale já nwm jak se mám zbavit tohohle erroru:

if point_distance(x,y,tar­get.x,target.y)>do­sah
^
at position 31: Unknown variable x

 
Nahoru Odpovědět 4.9.2013 18:15
Avatar
Honza Bittner
Redaktor
Avatar
Odpovídá na LakkyNorris
Honza Bittner:

Unknown variable x = neznámá proměnná x

Nahoru Odpovědět 4.9.2013 18:16
Ptejte se mě na cokoli na https://github.com/HoBi/ama a followujte mě na Twitteru https://twitter.com/tenhobi. :-)
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

Zkus

if (point_distance(self.x, self.y, target.x, target.y) > dosah)
Nahoru Odpovědět 4.9.2013 18:18
Přecházím na "Cross-Platform Development"
Avatar
TomBen
Redaktor
Avatar
Odpovídá na Theodor Johnson
TomBen:

self je zbytečný, svoje x to zná, nezná to target.x
Zásek je na znaku 31.

Nahoru Odpovědět 4.9.2013 18:23
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na TomBen
Theodor Johnson:

Vidíš, mohl jsem si to přepočítat, vypadá to na copypasta, kdyby věděl na co to má směřovat, tak tam přece nedá object který nemá ve hře

Nahoru Odpovědět  +1 4.9.2013 18:27
Přecházím na "Cross-Platform Development"
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

Dokážu vyřešit tvůj problém, ne sice způsobem který se ti bude líbit, ale řešení je jednoduché: začni s tutoriály na GM. Vytvořil jsi mutantní hru ze složení pár kousků dalších co jsi našel, takhle ti to nepůjde podle představ. Potřebuješ vědět co jaký příkaz dělá, když to nevíš tak ti je copypasta k ničemu.

Nahoru Odpovědět  +1 4.9.2013 18:37
Přecházím na "Cross-Platform Development"
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

A na jaký GM návody se mám podle tebe podívat?

 
Nahoru Odpovědět 4.9.2013 18:52
Avatar
Theodor Johnson
Redaktor
Avatar
Nahoru Odpovědět 4.9.2013 18:54
Přecházím na "Cross-Platform Development"
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

A co z toho si mám vybrat?

Editováno 4.9.2013 18:59
 
Nahoru Odpovědět 4.9.2013 18:58
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

Doporučil bych ti nejlépe základy GML, postupně zjišťovat co který příkaz dělá, když to tu nenajdeš tak použít google

Nahoru Odpovědět 4.9.2013 19:03
Přecházím na "Cross-Platform Development"
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Když začneš mým seriálem TBA, tak chybu neuděláš.
Pak je dobré naučit se hledat v normálním Helpu,
který je psaný dobře, stručně a přímo tvůrcem.
Nějaké úvodní články o objektovém programování
taky neuškodí, protože ty principy se ti budou hodit.
Dobré jsou taky přehledy ekvivalentů ikon v kódu gml.

Nahoru Odpovědět  +1 4.9.2013 19:16
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na TomBen
LakkyNorris:

Nechtěl by si mi spíš poslat odkazy? Abych nehledal v nějakých blbostech neboť já nepoznám jestli to je dobře nebo ne, ale ty víš co je napsaný správně a co ne.

 
Nahoru Odpovědět 5.9.2013 13:48
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Nevím o ničem, co by bylo napsané vysloveně špatně.
Pokud je něco zastaralé, tak to zjistíš podle data,
kdy byl článek zveřejněn. Jinak to v odkazu, který
poslal Theodor Johnson můžeš brát klidně shora dolů.
Všechno co tam je, bys měl znát.

Nahoru Odpovědět 5.9.2013 14:45
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na TomBen
LakkyNorris:

ok tak díky. Snad to pochopim :D

 
Nahoru Odpovědět 5.9.2013 15:09
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

Akorát občas je někde rozdíl ve studiu, ale pokud používáš 8.0 tak by mělo jít všechno (myslím že i 8.1)

Nahoru Odpovědět 5.9.2013 15:19
Přecházím na "Cross-Platform Development"
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na TomBen
LakkyNorris:

Ok, takže jsem si přečetl TBA, a pak jsem promáznul tu hru co jsem měl a napsal tam svůj kód,ale pořád mi to píše chybu, a já už nwm jak to opravit.

Určil jsem si proměnou:
terc = instance_neares­t(par_enemy.x,par_e­nemy.y,o_konec) < dosah

a pak jsem napsal kód

{{
if instance_neares­t(o_konec.x,o_ko­nec.y,par_ene­my) < dosah
cil = 1
}
if instance_neares­t(o_konec.x,o_ko­nec.y,par_ene­my) > dosah
cil = 0
{{
if cil = 0
image_angle = direction
}{
if cil = 1
image_angle = point_directi­on(x,y,terc.x,ter­c.y)
instance_crea­te(self.x,sel­f.y,o_strela)
}}}

 
Nahoru Odpovědět 6.9.2013 18:47
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

No, kromě toho, že je to napsané opravdu šíleně, tak je z toho
jasné, kde sis natvořil ten error. Hned na prvním řádku. :-)

Do proměnné terc ukládáš výsledek porovnávání, tzn. že ti
nabývá hodnot true nebo false. To pak těžko můžeš použít jako
cíl střelby. Jinak když sem dáváš nějaký kód, použij ikonu
vkládání kódu. Taky je dobré vysvětlit, jaké máš objekty
a do kterého z nich ( a jakého eventu ) jsi kód napsal. Takhle
je to šeredně nečitelné.

Editováno 6.9.2013 20:39
Nahoru Odpovědět 6.9.2013 20:38
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Jinak ten zbytek je taky špatně.
Smaž tuhle část celou a napiš ji pořádně.

Na začátku do proměnné target ulož čistě
výsledek funkce nearest_instance.
Pak spočítej vzdálenost, porovnej s povoleným dosahem
a podle výsledku porovnání vytvoř instanci střely.
Střele předáš proměnnou target, aby věděla, kam letět.
Zbav se mračna ifů a zbytečných proměnných jako je třeba cil.

Nahoru Odpovědět 6.9.2013 21:02
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

Snažil jsem se napsat ten kód (do alarmu kterej se spouští každou vteřinu) aby už byl funkční ale furt to nejde. Já jsem z toho už úplně zmatenej :)
Docílil jsem toho že ta věž furt střílí a když kolem ní projdou nepřátelé tak střílet přestane.Udělal jsem něco co jsem vůbec neměl v plánu.

{{
target = instance_nearest(o_konec.x,o_konec.y,par_enemy) < dosah
}{
if target = true
instance_create(self.x,self.y,o_strela)
image_angle = point_direction(x,y,target.x,target.y)
}{
if target = false
target = noone
image_angle = direction
}}

PS: se mnou to je asi hodně těžký co? :D

Editováno 6.9.2013 22:29
 
Nahoru Odpovědět 6.9.2013 22:28
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

instance_nearest ti nevrací vzdálenost, ale instanci, takže nemůžeš mít mít instance_nearest < dosah, musíš mít

target = instance_nearest
vzdalenost = point_distance(x,y,target.x,target.y) < dosah
Nahoru Odpovědět 6.9.2013 22:37
Přecházím na "Cross-Platform Development"
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

Já nwm jak mám do toho tvýho kódu dostat objekt nepřítele(par_e­nemy).

 
Nahoru Odpovědět 6.9.2013 23:19
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Než použiješ nějakou funkci, vždycky se podívej v helpu na její definici.
Např.:

instance_nearest(x,y,obj) Returns the id of the instance of type obj nearest to (x,y). obj can be an object or the keyword all.
  • vrací číslo instance objektu obj, která je nejblíž souřadnicím (x,y)

Takže se zamysli a sám napiš, kam patří tvůj objekt. Není to těžké.

Nahoru Odpovědět 7.9.2013 4:38
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na TomBen
LakkyNorris:

Já pořád nwm jak se zbavit toho erroru.

target = instance_nearest(o_konec.x,o_konec.y,par_enemy)
vzdalenost = point_distance(x,y,target.x,target.y) < dosah

A furt mi to píše že to nezná x a já nwm jak udělat aby to x znal.

 
Nahoru Odpovědět 7.9.2013 8:23
Avatar
Theodor Johnson
Redaktor
Avatar
Odpovídá na LakkyNorris
Theodor Johnson:

V čem to nezná x, v tom instance_nearest, nebo point_distance?

Nahoru Odpovědět 7.9.2013 10:25
Přecházím na "Cross-Platform Development"
Avatar
LakkyNorris
Člen
Avatar
LakkyNorris:

v obou. :D

 
Nahoru Odpovědět 7.9.2013 10:28
Avatar
LakkyNorris
Člen
Avatar
Odpovídá na Theodor Johnson
LakkyNorris:

On je problém v tom že ta věžka neví co má dělat než přijde někdo na koho bude moct střílet.(asi) :)

 
Nahoru Odpovědět 7.9.2013 10:31
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na LakkyNorris
David Čápka:

Protože vůbec nechápeš co píšeš a jen hádáš a pak se divíš že to nefunguje. O tutoriály jsi předpokládám ještě ani nezavadil.

Nahoru Odpovědět 7.9.2013 10:31
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
LakkyNorris
Člen
Avatar
 
Nahoru Odpovědět 7.9.2013 10:42
Avatar
David Čápka
Tým ITnetwork
Avatar
Odpovídá na LakkyNorris
David Čápka:

Nevím o tom, že by v TBA bylo GML a pokud ano, určitě by TomBen vysvětlil co je X.

Nahoru Odpovědět 7.9.2013 10:47
Miluji svou práci a zdejší komunitu, baví mě se rozvíjet, děkuji každému členovi za to, že zde působí.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na LakkyNorris
TomBen:

Vzhledem k rychlosti za jakou jsi to přečetl je jasné, žes to jenom
proletěl očima a určitě jsi nedělal vlastní příklady a pokusy, bez kterých
to nemá ten efekt. Ale abych se vrátil k tvému problému - pokud nastává
situace, že žádní nepřátelé neexistují a tudíž věž logicky nenajde cíl,
musíš tuhle situaci vyřešit ty. Musíš zajistit, aby se netestovalo něco,
co neexistuje. Je to jedna z věcí, které musí mít programátor pořád
na paměti.

Nahoru Odpovědět 7.9.2013 15:16
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
TomBen
Redaktor
Avatar
Odpovídá na David Čápka
TomBen:

No, nějaké to GML tam přece jen je. :-)
A i když je ho tam zatím málo,
jsem si jist, že se zmiňuji i o X. :-)

Nahoru Odpovědět 7.9.2013 15:22
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 66 zpráv z 66.