Hjälp med script till Unity 5

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Maj 2012

Hjälp med script till Unity 5

Hej!

Håller på och gör ett spel för en kurs på mitt högskoleprogram. Spelet är i 3D och går ut på att hålla sig undan för spöken (lite som pac man fast i 3D). Dock så vet jag inte hur jag kan göra en "Game Over" funktion när spöket nuddar spelaren. Jag har redan scriptat så spöket jagar spelaren.

Tanken är väl att spelet ska pausas eller resettas när spöket nuddar spelaren, samt att en text där det står "GAME OVER" ska dyka upp. All hjälp med detta script uppskattas.

Var 30'e sekund är tanken att det ska komma en pop-up ruta med ett mattetal (slumpmässiga variabler mellan 1-9 och 25/25/25/25 chans att det blir +, -, /, eller *). Förr än talet är löst ska man inte kunna röra spelaren. Men spökena ska jaga på som vanligt för att skapa lite av en hetskänsla och stress. Hjälp med detta uppskattas också!

Tack på förhand!

Mvh FoamBox

CPU: Amd FX-8150@ 4,9Ghz (H2O) GPU: ASUS GeForce GTX 770 DCII OC @ 1350Mhz
RAM: 16GB Vengeance 1600Mhz Moderkort: Gigabyte GA-990FXA-UD3
Burk: NZXT Guardian 921(Ush Blä!) PSU: Cooler Master GX 650W
Systemdisk: Samsung EVO 840 250GB SSD Lagringsdisk: Samsung 1TB 7200rpm
Mus: Cyborg R.A.T 5 Tangentbord: Razer Black Widow Ultimate

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Maj 2012

Här är min kod till AI'n... Tanken med den sista "if" satsen är att när AI'n är inom minimumavståndet så ska Unity ladda "Endgame" scenen. Dock så laddar den ingenting alls. Testade att lägga "Application.LoadLevel ("endgame");" utanför if satsen för att se om den funkar, vilket den gjorde.

var MoveSpeed : float = 2;
var Player : Transform;
var MaxDist = 10;
var MinDist = 1;

function Update ()
{
transform.LookAt(Player);

if(Vector3.Distance(transform.position,Player.position) >= MinDist){
transform.position += transform.forward*MoveSpeed*Time.deltaTime;

}

if(Vector3.Distance(transform.position,Player.position) == MinDist){
Application.LoadLevel ("endgame");

}

}

CPU: Amd FX-8150@ 4,9Ghz (H2O) GPU: ASUS GeForce GTX 770 DCII OC @ 1350Mhz
RAM: 16GB Vengeance 1600Mhz Moderkort: Gigabyte GA-990FXA-UD3
Burk: NZXT Guardian 921(Ush Blä!) PSU: Cooler Master GX 650W
Systemdisk: Samsung EVO 840 250GB SSD Lagringsdisk: Samsung 1TB 7200rpm
Mus: Cyborg R.A.T 5 Tangentbord: Razer Black Widow Ultimate

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Maj 2012

Har löst allt med AI'n att göra, samt hur man stänger ner spelet och startar om!

Dock så undrar jag fortfarande hur jag ska göra med popupen? Någon som har lite tips?

tänkte börja såhär eftersom det styrs av en timer?

var timeToWait = 30.0;

function Start () {
Invoke("popup", timeToWait);
}

function popup () {

}

CPU: Amd FX-8150@ 4,9Ghz (H2O) GPU: ASUS GeForce GTX 770 DCII OC @ 1350Mhz
RAM: 16GB Vengeance 1600Mhz Moderkort: Gigabyte GA-990FXA-UD3
Burk: NZXT Guardian 921(Ush Blä!) PSU: Cooler Master GX 650W
Systemdisk: Samsung EVO 840 250GB SSD Lagringsdisk: Samsung 1TB 7200rpm
Mus: Cyborg R.A.T 5 Tangentbord: Razer Black Widow Ultimate

Trädvy Permalänk
Medlem
Plats
Ellös
Registrerad
Jan 2008

Okej vi bryter ner det lite så jag är med helt på tåget.

När spöket nuddar Pac-Man dvs du dör. Så skall texten "Game Over" visas?

Du kan göra en method så här, och sätta när monstret nuddar pac-man sett gameOver = true

Du får skapa ett nytt gameObject med texten självklart

void Start()
{
gameOver = false;
}

public void GameOver ()
{
gameOverText.text = "Game Over!";
gameOver = true;
}

Sen kan du köra en While loop när game over är true, och bryter den med någon tangent tex

Edit: Jag har ett script för detta, skall rota fram det

P190 * Gigabyte X58-UD5 * i7 920 * Corsair 6Gb 1333Mhz CL-9 * GTX 560 Ti SLI * Velociraptor 150GB * Seagate 500GB 7200.11 * Plextor PX-810SA * Vista 64 * T220 *

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Maj 2012
Skrivet av Meller127:

Okej vi bryter ner det lite så jag är med helt på tåget.

När spöket nuddar Pac-Man dvs du dör. Så skall texten "Game Over" visas?

Du kan göra en method så här, och sätta när monstret nuddar pac-man sett gameOver = true

Du får skapa ett nytt gameObject med texten självklart

void Start()
{
gameOver = false;
}

public void GameOver ()
{
gameOverText.text = "Game Over!";
gameOver = true;
}

Sen kan du köra en While loop när game over är true, och bryter den med någon tangent tex

Edit: Jag har ett script för detta, skall rota fram det

Tack! detta är nu löst såå du behöver inte rota fram det! men jag skulle dock behöva hjälp med popupen! se mitt tidigare inlägg som jag redigerade

CPU: Amd FX-8150@ 4,9Ghz (H2O) GPU: ASUS GeForce GTX 770 DCII OC @ 1350Mhz
RAM: 16GB Vengeance 1600Mhz Moderkort: Gigabyte GA-990FXA-UD3
Burk: NZXT Guardian 921(Ush Blä!) PSU: Cooler Master GX 650W
Systemdisk: Samsung EVO 840 250GB SSD Lagringsdisk: Samsung 1TB 7200rpm
Mus: Cyborg R.A.T 5 Tangentbord: Razer Black Widow Ultimate

Trädvy Permalänk
Medlem
Plats
Ellös
Registrerad
Jan 2008

Skall popupen återkomma var 30sec?

Isåfall InvokeRepeating("popup", timeToWait, timeToWait);

Du kan ju även slowtime när man löser mattetalet så det inte blir pang död direkt

P190 * Gigabyte X58-UD5 * i7 920 * Corsair 6Gb 1333Mhz CL-9 * GTX 560 Ti SLI * Velociraptor 150GB * Seagate 500GB 7200.11 * Plextor PX-810SA * Vista 64 * T220 *

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Maj 2012
Skrivet av Meller127:

Skall popupen återkomma var 30sec?

Isåfall InvokeRepeating("popup", timeToWait, timeToWait);

Yea den ska återkomma var 30e sekund!
Och detdär med slowtime skulle ju kunna vara nice

Hmm... Jag måste säga tt jag är asdålig på kodande då jag inte har börjat med det förns nu... Men jag vill lära mig! Du råkar inte finnas på något ställe där man kan chatta (typ facebook eller annat) om du vill hjälpa mig på det sättet? tänkte att det är lite lättare än genom forumet?

CPU: Amd FX-8150@ 4,9Ghz (H2O) GPU: ASUS GeForce GTX 770 DCII OC @ 1350Mhz
RAM: 16GB Vengeance 1600Mhz Moderkort: Gigabyte GA-990FXA-UD3
Burk: NZXT Guardian 921(Ush Blä!) PSU: Cooler Master GX 650W
Systemdisk: Samsung EVO 840 250GB SSD Lagringsdisk: Samsung 1TB 7200rpm
Mus: Cyborg R.A.T 5 Tangentbord: Razer Black Widow Ultimate

Trädvy Permalänk
Medlem
Plats
Ellös
Registrerad
Jan 2008

Ja visst, adda mig på skype. Så kan vi dela skärm med. Har dock ingen mic här nu.

Meller227

P190 * Gigabyte X58-UD5 * i7 920 * Corsair 6Gb 1333Mhz CL-9 * GTX 560 Ti SLI * Velociraptor 150GB * Seagate 500GB 7200.11 * Plextor PX-810SA * Vista 64 * T220 *