public static test2 instance;
void Awer(){
instance = this; 单例模式
}
射线方法
Ray rey = Camera,main.ScreenPointToRay(Input.mousePosution); // 从相机中发射一条射线
RaycasHit hitInof; //
If(Physics.Reaycast( ray ,out hitInof)) //投射一束光线,从点原点,向最大距离的方向,与场景中的所有碰撞器相对。
{
Debug.DrawLine(ray.origin, hitInfo.point,Color.red); //输出一条红色的线
GameObjcet gameObj = hitInfo.colloder.gameObject; //实例化给射线检测碰撞的物体
if(gameObj.tag == "Player") // 如果射线检测到的tag为Player时执行
{
}
}
定时器方法
1.public float timer = 1.0f;
void Update() {
timer -= Time.deltaTime;
if (timer <= 0) {
Debug.Log("123");
timer = 1.0f;
}
} //每帧检测
2.void Start() {
StartCoroutine(Timer());
}
IEnumerator Timer() {
while (true) {
yield return new WaitForSeconds(1.0f);
Debug.Log("123");
}
}//利用协程
3.void Start() {
Invoke("Timer", 1.0f);
}
void Timer() {
Debug.Log("123");
Invoke("Timer", 1.0f);
} //延迟调用
InvokeRepeating //持续调用 Invoke // 只调用一次
//通过鼠标控制旋转
//控制转向
Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
RaycastHit hitInfo;
transform.position = Vector3.Lerp(transform.position, targetPos, smoothing * Time.deltaTime); //移动跟平滑