文档详情

unity3d游戏开发之IOS触摸屏手势控制镜头旋转与缩放.doc

发布:2017-06-06约4.18千字共7页下载文档
文本预览下载声明
前几篇文章介绍了很多? ? ?? ? 我们看看Move这条脚本,说明一下几个重要的 : ? ?? ? 这些方法都是系统自己调用的方法 ? ?? ? function Start () : 游戏启动以后只调用一次,可用于脚本的初始化操作, ? ?? ? function Update ():Start()方法调用结束以后每一帧都会调用,可以在这里更新游戏逻辑。 ? ?? ? function LateUpdate (): Start()方法调用结束以后每一帧都会调用,但是它是在 Update()调用完后调用。 ? ?? ? Move.js完整代码 //用于绑定参照物对象 var target : Transform; //缩放系数 var distance = 10.0; //左右滑动移动速度 var xSpeed = 250.0; var ySpeed = 120.0; //缩放限制系数 var yMinLimit = -20; var yMaxLimit = 80; //摄像头的位置 var x = 0.0; var y = 0.0; //记录上一次手机触摸位置判断用户是在左放大还是缩小手势 private var oldPosition1 : Vector2; private var oldPosition2 : Vector2; //初始化游戏信息设置 function Start () { ? ? var angles = transform.eulerAngles; ? ? x = angles.y; ? ? y = angles.x; ? ?? ???// Make the rigid body not change rotation ? ?? ?? ???if (rigidbody) ? ?? ?? ?? ?? ? rigidbody.freezeRotation = true; } function Update () { ? ?? ???//判断触摸数量为单点触摸 ? ?? ???if(Input.touchCount == 1) ? ?? ???{ ? ?? ?? ?? ?? ? //触摸类型为移动触摸 ? ?? ?? ?? ?? ? if(Input.GetTouch(0).phase==TouchPhase.Moved) ? ?? ?? ?? ?? ? { ? ?? ?? ?? ?? ?? ???//根据触摸点计算X与Y位置 ? ?? ?? ?? ?? ?? ?? ?? ?x += Input.GetAxis(Mouse X) * xSpeed * 0.02; ? ?? ?? ?? ?? ? y -= Input.GetAxis(Mouse Y) * ySpeed * 0.02; ? ?? ?? ?? ?? ? } ? ?? ???} ? ?? ???//判断触摸数量为多点触摸 ? ?? ???if(Input.touchCount 1 ) ? ? { ? ?? ?? ?? ?//前两只手指触摸类型都为移动触摸 ? ?? ?? ?? ?if(Input.GetTouch(0).phase==TouchPhase.Moved||Input.GetTouch(1).phase==TouchPhase.Moved) ? ?? ?? ?? ?{ ? ?? ?? ?? ?? ?? ?? ?? ?//计算出当前两点触摸点的位置 ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?var tempPosition1 = Input.GetTouch(0).position; ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???var tempPosition2 = Input.GetTouch(1).position; ? ?? ?? ?? ?? ?? ???//函数返回真为放大,返回假为缩小 ? ?? ?? ?? ?? ?? ???if(isEnlarge(oldPosition1,oldPosition2,tempPosition1,tempPosition2)) ? ?? ?? ?? ?? ?? ???{ ? ?? ?? ?? ?? ?? ?? ?? ?? ? //放大系数超过3以后不允许继续放大 ? ?? ?? ?? ?? ?? ?? ?? ?? ? //这里的数据是根据我项目中的模型而调节的,大家可以自己任意修改 ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? if(distance 3) ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ? { ? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?distance -= 0.
显示全部
相似文档