Il mio script/gioco/cosa fare una mossa gameobject a destra e quando clicco danza (un pulsante ho creato) si ferma. Poi quando il contatore (forse non ho bisogno di un contatore ma voglio aspettare 3 secondi) arriva come 3 (una volta che si fa clic su Dance, il contatore inizia) il mio gameobject suppone di continuare andando a destra.Come posso aspettare 3 secondi e quindi impostare un valore bool su true, in C#?
Se è possibile correggere il codice che sarebbe cool. Se riesci a correggerlo e spiegami cosa ho sbagliato, sarebbe ancora più fantastico. Ho appena iniziato a imparare C# su Unity.
using System;
using UnityEngine;
using System.Collections;
public class HeroMouvement : MonoBehaviour
{
public bool trigger = true;
public int counter = 0;
public bool timer = false;
// Use this for initialization
void Start()
{
}
// Update is called once per frame
void Update()
{ //timer becomes true so i can inc the counter
if (timer == true)
{
counter++;
}
if (counter >= 3)
{
MoveHero();//goes to the function moveHero
}
if (trigger == true)
transform.Translate(Vector3.right * Time.deltaTime); //This moves the GameObject to the right
}
//The button you click to dance
void OnGUI()
{
if (GUI.Button(new Rect(10, 10, 50, 50), "Dance"))
{
trigger = false;
timer = true;//now that the timer is set a true once you click it,The uptade should see that its true and start the counter then the counter once it reaches 3 it goes to the MoveHero function
}
}
void MoveHero()
{ //Set the trigger at true so the gameobject can move to the right,the timer is at false and then the counter is reseted at 0.
trigger = true;
timer = false;
counter = 0;
}
}
Hai bisogno di andare piano con lo spazio bianco ... – paddy
sì, potrebbe aver avuto 1/5 delle linee! – ApolloSoftware
deve essere pagata in klocs :) – ApolloSoftware