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
tomekmichalhu:15.8.2014 21:03

dobrý den, snažím se vytvořit fps "hru". chtěl bych udělat, že pokud se hráč dotkne ammoBoxu, ammoBox zmizí a hráči se přičte 60 nábojů. problém je, že i když mám kód přesně podle dokumentace, ammoBox nemizí a náboje se nepřičítají. Tady je kód pro mizení ammoBoxu:

void OnCollisionEnter (Collision col)
{
if (col.gameObject.tag == "ammobox") {
Destroy(col.ga­meObject);
}
}

kód na přičtení munice zatím nemám

 
Odpovědět
15.8.2014 21:03
Avatar
MrPabloz
Člen
Avatar
MrPabloz:15.8.2014 21:08

zkus si to debugnout, jestli ti to vůbec skočí do té podmínky, nebo jestli se vůbec spustí daná funkce. Pokud obě projde, tak to ti s tím asi poradí někdo jiný :)

Nahoru Odpovědět
15.8.2014 21:08
Harmonie těla a duše, to je to, oč se snažím! :)
Avatar
Odpovídá na tomekmichalhu
Vojtěch Pospíchal:15.8.2014 21:19

Mělo by to být OnTriggerEnter. A v Collideru musíš mít zatržený trigger. A nepoužívej na to tag, zachvilku by jsi měl zadělanej celej projekt jen tagy. Na tohle slouží gameObject.name. V tvém případě tedy:

void OnTriggerEnter (Collision col)
{
   if (col.gameObject.name == "ammobox")
   {
      Destroy(col.gameObject);
   }
}

A SAKRA LIDI! Naučte už se konečně používat to tlačítko na vložení kódu!

Editováno 15.8.2014 21:19
 
Nahoru Odpovědět
15.8.2014 21:19
Avatar
tomekmichalhu:15.8.2014 21:43

bohužel ani OnTrigerEnter nepomohl, v konzoli se mi objevilo toto:

Script error: OnTriggerEnter
This message parameter has to be of type: Collider
The message will be ignored.

 
Nahoru Odpovědět
15.8.2014 21:43
Avatar
Odpovídá na tomekmichalhu
Vojtěch Pospíchal:15.8.2014 22:16

Další věc. Používej tlačítko odpovídat. + programuješ hry a nedokážeš vyřešit sám takhle primitivní error? Vždyť ti to píše co máš blbě! I když by jsi neuměl Anglicky a hodil si to do Google překladače tak ti to přeloží co máš opravit! Stačí přepsat parametr Collision na Collider

 
Nahoru Odpovědět
15.8.2014 22:16
Avatar
Odpovídá na Vojtěch Pospíchal
tomekmichalhu:16.8.2014 8:03

a jo, už to de, dík

 
Nahoru Odpovědět
16.8.2014 8:03
Avatar
tomekmichalhu:16.8.2014 8:52

no a pak mám ještě jeden dotaz. Mám ve scriptu shooter proměnou munice a potřebuju k ní přičíst 60 z jiného scriptu

 
Nahoru Odpovědět
16.8.2014 8:52
Avatar
Tomáš Bitter
Tvůrce
Avatar
Odpovídá na tomekmichalhu
Tomáš Bitter:16.8.2014 9:48
ShooterScript shooter = GameObject.Find("Shooter").GetComponent<ShooterScript>();
shooter.Ammo += 60;
 
Nahoru Odpovědět
16.8.2014 9:48
Avatar
Odpovídá na tomekmichalhu
Vojtěch Pospíchal:16.8.2014 16:15

Krucinál vykašli se na programování hry a jdi se učit základy. Takhle se to stejně nikdy nenaučíš, většinu času strávíš na Googlu nebo ptaním se na základy tady.

 
Nahoru Odpovědět
16.8.2014 16:15
Avatar
Tomáš Bitter
Tvůrce
Avatar
Odpovídá na tomekmichalhu
Tomáš Bitter:16.8.2014 22:30

Nebo jinak ... Když chceš programovat hry a zároveň opravdu programovat, tak zkus XNA nebo MonoGame, tam by jsi se mohl naučit i programovat ...

 
Nahoru Odpovědět
16.8.2014 22:30
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 10 zpráv z 10.