- 最后登录
- 2016-10-1
- 注册时间
- 2013-12-28
- 阅读权限
- 90
- 积分
- 5805
 
- 纳金币
- 2954
- 精华
- 3
|
首先 在场景内创建一个空的Gameobject。将摄像机放到Gameobject下;脚本加给 Gameobject;- private float speed = 100;//摄像机移动速度
- //水平和垂直移动速度
- private float horizontalMoveSpeed = 0.5f;
- private float verticalMoveSpeed = 0.5f;
- //屏幕上下左右标记
- private int topTag=8;
- private int leftTag=4;
- private int rightTag=1;
- private int bottonTag=2;
- void Update () {
- Vector3 mousePos = Input .mousePosition;//获的当前鼠标坐标
- //边界最小值
- float widthBorder = Screen.width / 50;
- float heightBorder = Screen.width / 50;
- float x = 0f;
- float y = 0f;
- //当前鼠标位置标记
- int posTag = 0;
- if (widthBorder <= mousePos.x && mousePos.x <= Screen.width - widthBorder &&
- heightBorder <= mousePos.y && mousePos.y <= Screen.height - heightBorder) {
- transform .Translate (x, 0, y);
- } else {
- if (mousePos.y > Screen.height - heightBorder)
- posTag = posTag | topTag;
- if (mousePos.x < widthBorder)
- posTag = posTag | leftTag;
- if (mousePos.y < heightBorder)
- posTag = posTag | bottonTag;
- if (mousePos.x > Screen.width - widthBorder)
- posTag = posTag | rightTag;
- // 判断当前状态
- switch (posTag) {
- case 0:
- break;
- case 1:
- x = horizontalMoveSpeed;
- break;
- case 2:
- y = -verticalMoveSpeed;
- break;
- case 3:
- x = horizontalMoveSpeed;
- y = -verticalMoveSpeed;
- break;
- case 4:
- x = -horizontalMoveSpeed;
- break;
- case 6:
- x = -horizontalMoveSpeed;
- y = -verticalMoveSpeed;
- break;
- case 8:
- y = verticalMoveSpeed;
- break;
- case 9:
- x = horizontalMoveSpeed;
- y = verticalMoveSpeed;
- break;
- case 12:
- x = -horizontalMoveSpeed;
- y = verticalMoveSpeed;
- break;
- default:
- break;
- }
-
- x *= speed * Time.deltaTime;
- y *= speed * Time.deltaTime;
-
- transform.Translate (x,0, y);
- }
- }
复制代码 |
|