NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!
Avatar
Erik Bystroň:5.3.2017 15:02

Ahoj, vytvářím takovou vylepšenou verzi hry Roll a Ball na kterou je tutoriál, s unity dělám poprvé a potřebuji přemístit objekt (hráče - kuličku) jakmile dosáhne hodnoty -10 na ose y (jakmile spadne z herního pole) na startovní pozici. Hledal jsem různě na netu, ale když jsem něco našel nefungovalo to... Používám nejnovější unity (5.5.2). Za jakoukoliv radu budu rád.

 
Odpovědět
5.3.2017 15:02
Avatar
Tomáš Kubín:6.3.2017 14:01

Ahoj,
zkus následné ve scriptu pro Hráče v Updatu/FixedUpdate (nevím co tam teď máš). Umisti

if(transform.po­sition.y < -10){
transform.position = new Vector3(0, 0, 0); //(Místo nul, dej souřadnice kde chceš hráče umístit: x,y,z
}

V každém snímku zkontroluješ zda posice hráče na ose Y je menší jak -10, pokud ano provede se podmínka. transform (Kompenta na hráči), position příjdeš ke konkrétnímu "parametr", máš tam i scale, rotaci, tak říkáš změň pozici a chce to trojici údajů kam hráče umístíš. Teď by byl na pozici 0, 0, 0. V případě jakékoli nejastnosti, nebo bys chtěl poslat kód klidně napiš.

Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
6.3.2017 14:01
Avatar
Erik Bystroň:6.3.2017 18:52

Díky dnes jsem to nestíhal, ale zítra to testnu a ozvu se :)

 
Nahoru Odpovědět
6.3.2017 18:52
Avatar
Erik Bystroň:7.3.2017 14:41

Ahoj, unity hodi chýbu.... Nechápu co to je, ale hlasí to vadný znak. Mám vše jak jsi napsal, v position je po-sition přitom v VS tam nic nemám. Zkoušel jsem změnit kodovani a styl řádků, ale nepomohlo.

Editováno 7.3.2017 14:42
 
Nahoru Odpovědět
7.3.2017 14:41
Avatar
Odpovídá na Erik Bystroň
Erik Šťastný:7.3.2017 14:44

Achjo zkus si přečíst řádek v kterém to hází tu chybu :/

 
Nahoru Odpovědět
7.3.2017 14:44
Avatar
Erik Bystroň:7.3.2017 15:26

to jsem udelal je tam navic - .... ale když to otevřu ve VS tak tam nic nemám...

Editováno 7.3.2017 15:26
 
Nahoru Odpovědět
7.3.2017 15:26
Avatar
Tomáš Kubín:7.3.2017 15:33

Asi jsem ti to špatně napsal :), zdě přidám funkční kód.

void Update () {
if(transform.po­sition.y < -10)
{
transform.position = new Vector3(0, 0, 0);
}
}

 
Nahoru Odpovědět
7.3.2017 15:33
Avatar
Tomáš Kubín:7.3.2017 15:35

Ahoj, script funguje, ale z neznámého důvodu když ho zkopíruješ tak hází ty blbosti. Jen si ho přepiš ručně a vše bude v pohodě.

void Update () {
if(transform.position.y < -10)
{
transform.position = new Vector3(0, 0, 0);
}
}
 
Nahoru Odpovědět
7.3.2017 15:35
Avatar
Tomáš Kubín:7.3.2017 15:36

A do třetice, moje chyba. můžeš ho zkopírovat, ale nedal jsem ho do tagu. Takže už by ti vše mělo jít :).

void Update () {
if(transform.position.y < -10)
{
transform.position = new Vector3(0, 0, 0);
}
}
 
Nahoru Odpovědět
7.3.2017 15:36
Avatar
Erik Bystroň:7.3.2017 15:39

Díky, nenapadlo mě to přepsat. Script funguje !

 
Nahoru Odpovědět
7.3.2017 15:39
Avatar
Tomáš Kubín:7.3.2017 15:42

Není zač, bylo to spíše kvůli tomu že jsem to nedal do tagu pro kod, co se zde na foru používá. Jinak Unity se nějakou chvilku věnuji, tak kdyby cokoliv dej vědět :)

 
Nahoru Odpovědět
7.3.2017 15:42
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 11 zpráv z 11.