Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
qasnicka557
Člen
Avatar
qasnicka557:2.12.2012 17:34

Dobrý den.

Potřeboval bych poradit ohledně problému výce typů nepřátel. Rád i semtam zahraju TOWER DEFENDER no nevým jestly přesně nazívat hru kterou mám namysly tímto stylem a tak jen pro představu jednáse o game Desert Moon. Přemýšlel jsem nad tím že bych vlastní taky vytvořil a dočet jsem se o tomto programu (GM). Sem tam nejaký tutoryál jsem sy schlídnul ale bouhužel jsem nenašel žádný který by vysvětloval můj problém. Začala tvorba vytvořil jsem hlavn budovu heald bar 1 typ věže 1 nepřítele a šlo se testovat budova healt bar funkčn potvora s životy také v pohodě. Problém začal až když jsem se rozhod že půjdu na potvoru 2 než budu tvořit 2 level. Zadal jsem dělu pokud se nachází ve vzdálenosti xxx potvora změň se do pozice dělopal a začni střílet to samé jsem připsal u ilněší potvory2.

Začnu testovat a ze začátku se zdá vše v pořádru ale jak níčm jeden typ potvory je jedno jaký tak i přesto že tam druhý typ je dělo už nereaguje prostě oba nebo nic.

Samozřejmě vým že jsem udělal chybu vtom že jsem napsal k oboum potvorám if tudš to reaguje pokud jsou spolu ale nevým jak dál protože else mně z tohoto problému nedotalo a příkaz OR z C/C++ očivydně GM nemá nebo bude skryt pod jiným názvem čí ikonou nebo znamýkem. Pokud neí jasný problém a není jasno co dělám špatně tak později bude i přiložen ten kousek kam jsem se zatím dostal Skoré a peníze z potvor mně zatím nezajmají dokud nevyřešm tento problém.

 
Odpovědět
2.12.2012 17:34
Avatar
qasnicka557
Člen
Avatar
qasnicka557:4.12.2012 9:42

Prosím o pomoc jak to mám řešit klidně to celé předělám.
Co mám vlastně za problém.

Jeden typ obranné věže. Dna typy nepřátel.

Pokud jsou oba typy nepřátel v místností věž po nich střílí. Bohužel jak jeden typ už je zničen tak přestane ( je jedno jaký ).

Pro představu v binárním kódu to funguje takto:

N 1 N 2 Tower
1 1 = 1
1 0 = 0
0 1 = 0
0 0 = 0
**
ale já potřebuju:
**
N 1 N 2 Tower
1 1 = 1
1 0 = 1
0 1 = 1
0 0 = 0

Za jakoukoliv radu děkuju.

 
Nahoru Odpovědět
4.12.2012 9:42
Avatar
David Hartinger
Vlastník
Avatar
Odpovídá na qasnicka557
David Hartinger:4.12.2012 10:59

Podle tvého příspěvku usuzuji, že s GM moc neumíš. Výběr nejbližší instance není triviální věc a myslím, že GM na to nemá funkci. Asi by bylo lepší, kdybys začal s něčím jednodušším. Osobně bych to zkusil řešit tak, že jakmile se instance k věži přiblíží do nějaké vzdálenosti, uloží se do věže a ona potom ví, po čem střílet.

Nahoru Odpovědět
4.12.2012 10:59
You are the greatest project you will ever work on.
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na qasnicka557
TomBen:4.12.2012 23:51

Tohle je jasná úloha na dědičnost.
Věž bude střílet na nejbližší instanci objektu Nepřítel,
který musí být nastaven jako parent pro objekty Nepřítel01, Nepřítel02...
Pak to bude střílet po všem.

target=instance_nearest(x,y,enemy); //nejbližší nepřítel

if (target!=noone) //pokud vůbec existuje
{
shot=instance_create(x,y,bullet); //vytvoř střelu
(shot).target=target; //předej jí idčko cíle
}
Nahoru Odpovědět
4.12.2012 23:51
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
David Hartinger
Vlastník
Avatar
Odpovídá na TomBen
David Hartinger:5.12.2012 14:05

Netušil jsem, že má GM takovou funkci.

Nahoru Odpovědět
5.12.2012 14:05
You are the greatest project you will ever work on.
Avatar
qasnicka557
Člen
Avatar
qasnicka557:6.12.2012 8:11

Děkuji :)

Přesto že my to ze začátku házelo bugy tak my to hodně pomohlo ale napsal jsem to torochu podle svého a fungujeto. Vastně věž zná jen instanci nepřítel a začne po ní střílet od určité vzdálenosti. Instance nepřítel však neexistuje ale skrývá se vní nepřítel=nepří­tel1 nepřítel=nepří­tel2 atd... jak jednoduchý a já na to nemoh přijít lol no jo game maker používá teprv 2 týdny nojo furt se lidi učí.

 
Nahoru Odpovědět
6.12.2012 8:11
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 6 zpráv z 6.