Unity3d在手机里面实现用手势放大缩小镜头

,刚进入一家公司,上了4天班了,终于发现自己是那么的菜,看了老大写的一些代码。没办法看下去了,简直太强了,在这几天上班里,因为是很大的公司,感觉自己压力很大很大啊。心里很压抑。因为自己很菜。好了,先不说这些了,加油吧。坚持努力学习。这几天里老大叫我实现在手机里面实现镜头的放大缩小和移动场景,有点像海岛奇兵那样的控制镜头那样的效果,在写这些代码中。遇到了很多很多的问题。因为紧张,也因为自己基础不行。


代码如下,需要把这个脚本绑定在摄像机上:



使用UnityEngine;使用System.Collections
,

公共类CameraController: MonoBehaviour
{

,,,公共浮动ZoomSpeed=500;
,,,公共浮动zoomSpeed
,,,{
,,,,,,,得到
,,,,,,,{
,,,,,,,,,,,返回ZoomSpeed;
,,,,,,,}
,,,,,,,设置
,,,,,,,{
,,,,,,,,,,,ZoomSpeed=价值;
,,,,,,,}
,,,}
,,,公共浮动MaxY=3921;
,,,公共浮动maxY
,,,{
,,,,,,,得到
,,,,,,,{
,,,,,,,,,,,返回MaxY;
,,,,,,,}
,,,,,,,设置
,,,,,,,{
,,,,,,,,,,,MaxY=价值;
,,,,,,,}
,,,}

,,,公共浮如矿坑的=1200;
,,,公共浮动如矿坑的
,,,{
,,,,,,,得到
,,,,,,,{
,,,,,,,,,,,返回如矿坑的;
,,,,,,,}
,,,,,,,设置
,,,,,,,{
,,,,,,,,,,,如矿坑的=价值;
,,,,,,,}
,,,}
,,,//更新被称为一次每帧
,,,私人Vector2 lastTouchPos1=Vector2.zero;
,,,私人Vector2 lastTouchPos2=Vector2.zero;


,,,无效的更新()
,,,{
,,,,,//这里是鼠标控制
,,,,,,,如果输入。GetAxis(鼠标ScrollWheel) !=0)
,,,,,,,{
,,,,,,,,,,,var=Camera.main.transform向前发展。* ZoomSpeed *输入。GetAxis(“鼠标ScrollWheel”);
,,,,,,,,,,,Camera.main.transform。位置+=,
,,,,,,,}

,,//这里是在手机上手势控制
,,,,,,,如果输入。touchCount祝辞1)
,,,,,,,{

,,,,,,,,,,,如果(Input.GetTouch (0)。==TouchPhase阶段。感动| | Input.GetTouch (1)。==TouchPhase.Moved阶段)
,,,,,,,,,,,{
,,,,,,,,,,,,,,,Vector2 v1=Input.GetTouch (0) .position;
,,,,,,,,,,,,,,,Vector2 v2=Input.GetTouch (1) .position;



,,,,,,,,,,,,,,,浮动距离=GetDistance (v1、v2);
,,,,,,,,,,,,,,,=Camera.main.transform Vector3前进。向前*距离* Time.deltaTime * 0.5 f;
,,,,,,,,,,,,,,,Vector3 newPos=Camera.main.transform。位置+前进;
,,,,,,,,,,,,,,,如果(newPos。y比;MaxY | | newPos。y & lt;如矿坑的)
,,,,,,,,,,,,,,,{

,,,,,,,,,,,,,,,}
,,,,,,,,,,,,,,,其他
,,,,,,,,,,,,,,,{
,,,,,,,,,,,,,,,,,,,Camera.main.transform。null

Unity3d在手机里面实现用手势放大缩小镜头