1.
相机跟随两Tank的中间点进行移动,然后用两Tank初始距离和相机的初始大小做成比例系数,当两Tank距离减小或者放大的时候,相机的大小也随比例进行变化。
代码:
void Start () {
offset = transform.position - (player1.position + player2.position) / 2;
camera = GetComponent<Camera>();
originSize = camera.orthographicSize;
}
void Update () {
transform.position = (player1.position + player2.position) / 2 + offset;
float distance = Vector3.Distance(player1.position, player2.position);
float size = distance * 0.58f;
camera.orthographicSize = size;
}
2.
一般某些特效都是被引用的,所以用这个特效的物体销毁后,该物体还会存在于场景中,当重复这样时,
就会白占用太多资源,所以一般要在这种特效的prefabs上,加上自毁脚本,一般是在播放完的时间后销毁。
但是如果该特效是子对象,那父对象销毁时,该特效也会随之销毁。
3.
用画布制作血条,将canvas设置成世界坐标,放到Tank的下面。
4.
Tank移动,和旋转用了velocity的这种方法:
TankBody.velocity = transform.forward * v * speed;
TankBody.angularVelocity = transform.up * h * angularSpeed;