您的位置:首页 > 移动开发 > Unity3D

Unity3D 相机跟随主角移动

2015-11-03 22:05 656 查看
这里给主相机绑定一个脚本。

脚本写为:

using UnityEngine;
using System.Collections;

public class camerafollow : MonoBehaviour {
//主摄像机跟随主角一起移动
public float xMargin = 1f;
public float yMargin = 1f;
public float xSmooth = 8f;
public float ySmooth = 8f;
public Vector2 maxXandY;
public Vector2 minXandY;
// Use this for initialization
private Transform player;
void Start () {
//这里获得是绑定的主角,需要一起跟随移动,就要获得主角的属性
player = GameObject.FindGameObjectWithTag("pk_0").transform;
maxXandY.x = 10; maxXandY.y = 10;
}
bool checkxmargin() {
return Mathf.Abs(transform.position.x - player.position.x) > xMargin;
}
bool checkymargin() {
return Mathf.Abs(transform.position.y - player.position.y) > yMargin;
}
// Update is called once per frame
void Update () {
Trackplayer();
}
//跟踪主角
void Trackplayer() {
float targetx = transform.position.x;
float targety = transform.position.y;
if (checkxmargin())
{
targetx = Mathf.Lerp(transform.position.x, player.position.x, xSmooth * Time.deltaTime);

}
if (checkymargin())
{
targety = Mathf.Lerp(transform.position.y, player.position.y, xSmooth * Time.deltaTime);
}
targetx = Mathf.Clamp(targetx, minXandY.x, maxXandY.y);
targety = Mathf.Clamp(targety, minXandY.y, maxXandY.y);
transform.position = new Vector3(targetx, targety,transform.position.z);
}
}


  效果图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: