1.判断鼠标点击的是UI还是游戏对象
EventSystem.current.IsPointerOverGameObject() == false
需要引用命名空间:using UnityEngine.EventSystems;
还必须把BG中的Image组件中的Raycast Target 属性勾选去掉
2.设置父物体 (实例化出来的物体放在场景中另一个物体之下)
例:
GameObject bullet = Instantiate(xxxx);//实例化子弹
bullet.transform.SetParent(AAAAA, false); //设置父物体
AAAAA就是父物体___false的意思是 不根据父物体而改变自身的位置 大小等
3.触发碰撞 比较标签的两种方法
collision.CompareTag(“xxxxxx”)
collision.gameObject.tag(“xxxxxx”)
4.Vector3.MoveTowards 移向
public Transform target;
public float speed;
参数是(自身位置,目标位置,速度)
transform.position = Vector3.MoveTowards(transform.position, target.position, speed*Time.deltaTime);
5.AudioSource.PlayClipAtPoint播放音效
使用AudioSource.PlayClipAtPoint播放声音,会自动生成一个名为”One shot audio”的物体,并自动添加了AudioSource和相应的audioclip,同时播放多个声音时会生成多个同名的物体