p=1433首先要以你当前控制的角色为中心,我们需要以下变量: //最小缩小距离public float theDistance = -10f;//最大缩小距离public float MaxDistance = -10f;//缩放速度public float ScrollKeySpeed = 100.0f; 早Update () 初始化// 滚轮设置 相机与人物的距离.if(Input.GetAxis("Mouse ScrollWheel") != 0){theDistance = theDistance + Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * ScrollKeySpeed;}// 鼠标滚轮滚动if(theDistance>0)theDistance = 0;if(theDistance < MaxDistance)theDistance = MaxDistance; 下面贴出全部代码using UnityEngine;using System.Collections; [AddComponentMenu("Camera-Control/Mouse Look")]public class MouseLook : MonoBehaviour { public enum RotationAxes { MouseXAndY = 0, MouseX = 1, MouseY = 2 }public RotationAxes axes = RotationAxes.MouseXAndY;public float sensitivityX = 15F;public float sensitivityY = 15F; public float minimumX = -360F;public float maximumX = 360F; public float minimumY = -85F;public float maximumY = 4F; public float rotationY = 0F; public GameObject target; public float theDistance = -10f;public float MaxDistance = -10f;public float ScrollKeySpeed = 100.0f;void Update (){target = GameObject.Find("Player");// 滚轮设置 相机与人物的距离.if(Input.GetAxis("Mouse ScrollWheel") != 0){theDistance = theDistance + Input.GetAxis("Mouse ScrollWheel") * Time.deltaTime * ScrollKeySpeed;}// 鼠标中间滚动得到的值是不确定的,不会正好就是0,或 -10,当大于0时就设距离为0,小于MaxDistance就设置为MaxDistanceif(theDistance>0)theDistance = 0;if(theDistance < MaxDistance)theDistance = MaxDistance;if(Input.GetMouseButton(1)){transform.position = target.transform.position;if (axes == RotationAxes.MouseXAndY){float rotationX = transform.localEulerAngles.y + Input.GetAxis("Mouse X") * sensitivityX; rotationY += Input.GetAxis("Mouse Y") * sensitivityY;rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);transform.localEulerAngles = new Vector3(-rotationY, rotationX, 0);}else if (axes == RotationAxes.MouseX){transform.Rotate(0, Input.GetAxis("Mouse X") * sensitivityX, 0);}else{rotationY += Input.GetAxis("Mouse Y") * sensitivityY;rotationY = Mathf.Clamp (rotationY, minimumY, maximumY);transform.localEulerAngles = new Vector3(-rotationY, transform.localEulerAngles.y, 0);}SetDistance();}else{transform.position = target.transform.position;SetDistance();}} void Start (){if (rigidbody){rigidbody.freezeRotation = true;transform.position = target.transform.position;}} //设置相机与人物之间的距离void SetDistance(){transform.Translate(Vector3.forward * theDistance);}} 运行游戏看看。
distance 英 [ˈdɪstəns] 美 [ˈdɪstəns] 。
n. 远处; 距离,路程; 疏远; (时间的) 间隔,长久; 。
vt. 把…远远甩在后面; 疏远; 与…保持距离; 。
全部释义>>
[例句]We suddenly saw her in the distance.。
我们突然看见她在远处。
更多例句>>
复数:distances 过去式:distanced 现在分词:distancing 过去分词:distanced 第三人称单数:distances。
一、含义不同
1、inthedistance释义:在远处。
2、atadistance释义:相距遥远,久远地。
二、用法不同
1、inthedistance用法:inthedistance直接用作状语。
例句:I hear the rumble of thunder in the distance。
译文:我听到远处雷声隆隆。
2、atadistance用法:atadistanceof,在多远的地方,一般后面接距离的名词或数词。
例句:The only way I can cope with my mother is at a distance。
译文:我可以和我妈妈相处的唯一方法就是保持距离。
三、侧重点不同
1、inthedistance解析:inthedistance意思比较模糊和笼统。
2、atadistance解析:atadistance隐含了一个比较的意思在里面。
distance
1. 距离;路程[C][U][(+to/from/between)]。
It is a long distance from New York to Hongkong.。
纽约离香港很远。
2. 远处[the S]
They saw a few houses in the distance.。
他们看到远处有几所房子。
3. 冷淡,疏远[C][U]
Her father advised her to keep her distance from that fellow.。
她父亲劝她疏远那家伙。
vt.
1. (竞争中)把...远远甩在后面。
2. 使疏远[(+from)]。
Lately she has seemed to distance herself from me.。
她近来似乎在疏远我。
双语例句
1此时,猫就在可攻击鸭子的距离内。
The cat was now within striking distance of the duck.。
2在美国,测量距离以英里作单位。
In the US, distance is measured in miles.。
3他们在距离商场5英里的范围内送货上门。
They deliver to within a 5-mile radius of the store.。
4雾中的能见距离降到了大约100米。
Visibility was down to about 100 metres in the fog.。
in
the
distance以为“在远处”,后面不能再接其他,即只放在句尾;at。
distance意为“距离...",后面是要接具体的距离的,一般用法为at。
distance
of
...
意思上他们也有差别,in
the
distance为泛指的距离,可以是具体的物理距离,也可以是虚拟的距离;at。
distance只能表示具体的物理距离。
in有泛指之意,明显是in
表示的距离要远,at更为具体,一般用在距离已知的地方,即距离不远的地点。
希望能帮到你~