功能:当物体发生碰撞时,给出提示9秒,9秒后自动消失。
在这里,使用变量在Update中计时,最简单最方便。
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Move2 : MonoBehaviour
{
public Transform start;
public Transform end;
public float speed;
bool isShowTip;
//Timer timer;
//public float time = 45.0f;
private float lastTime;
private float curTime;
// Start is called before the first frame update
void Start()
{
isShowTip = false;
}
// Update is called once per frame
void Update()
{
transform.position = Vector3.MoveTowards(start.position, end.position, speed * Time.deltaTime);
//time -= Time.deltaTime;
//if (time <= 0)
//{
// isShowTip = false;
// lastTime = Time.time;
//}
curTime = Time.time;
if (curTime - lastTime >= 9)
{
isShowTip = false;
lastTime = curTime;
}
}
void OnCollisionEnter(Collision other)
{
var tag = other.collider.tag;
if (tag == "Player")
{
Debug.Log("9、右侧超车:同方向只有一条机动车道,右侧超车,右车全责!");
isShowTip = true;
speed = 0;
}
}
void OnGUI()
{
if (isShowTip)
{
string aa = "9、右侧超车:同方向只有一条机动车道,右侧超车,右车全责!";
GUIStyle bb = new GUIStyle();
bb.normal.background = null; //设置背景填充的
bb.normal.textColor = new Color(1, 0, 0); //设置字体颜色的
bb.fontSize = 30; //设置字体大小
GUI.Label(new Rect(20, 20, 800, 300), aa, bb);
}//Input.mousePosition.x,Screen.height - Input.mousePosition.y
}
}