私のゲームでは、ユーザーがクリックしたときにタイマーを開始したい。ここで私が持っているコードは、これまでのところです:入力があるとタイマーを始めるには?
using UnityEngine;
using System.Collections;
using UnityEngine.UI;
public class Countdown : MonoBehaviour
{
float timeLeft = 30.0f;
public Text text;
public Text scoretext;
public Text finalscore;
public AudioSource ping;
public GameObject ball;
// Use this for initialization
void Start()
{
finalscore.text = "";
}
void countdownfunction()
{
timeLeft -= Time.deltaTime;
text.text = "Time Left: " + Mathf.Round(timeLeft) + " seconds";
}
// Update is called once per frame
void Update()
{
countdownfunction();
if (timeLeft < 0)
{
ping = GetComponent<AudioSource>();
text.text = "Time's up!";
ping.Play();
ball.SetActive(false);
finalscore.text = "Final score ^";
}
}
}
あなたが見ることができるように、タイマーは、すぐにゲームが起動すると起動しますが、私は、ユーザーがクリックを去ったとき、それは開始したいのですが、私を聞かせてくださいこれを行う方法があるかどうかを知ってください、ありがとう。
トピックはありませんが、各フレームで 'GetComponent()'を呼び出すのはやや非効率です。なぜあなたはそれをどこかに保管しないのですか? –
MickyD
@MickyD良いアイデア、私は昨日始めたUnityとC#の新機能です。しかし、ヒントをありがとう –
心配しないで、ちょうど友好的なヒントでした:)楽しい同友Unityユーザー – MickyD