博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity 人物跟谁手指的移动(第一种方式)
阅读量:5076 次
发布时间:2019-06-12

本文共 3503 字,大约阅读时间需要 11 分钟。

长夜漫漫无心睡眠,敲敲代码,越敲越来劲! 我发现好多小朋友都在玩熊出没之xxxx这个游戏,居然打了一下午都没玩通第2关,我把测试也叫来陪我一起玩!

结果他也打不通,我再去叫策划,他也没打过,我去叫主管,他还是没打过,我再回去叫测试使用游戏修改大师,修改宝石买完全部的装备!结果他还是没打过!

(这款游戏,让我人生都变得没有了意义!)

 

 

人物跟随手指的移动而移动:

第一种方式: 手指移动了多少,主角就移动多少!(我使用的这种方式,存在问题,手指过快滑动,主角会慢慢跟手指有了距离!)

第二种方式: 手指移动到哪里,主角就慢慢移动到手指所在的位置!(还没写代码,理论上不会出现第一种问题),建议采用这种方式实现

 

第一种方式的部分代码实现:

using UnityEngine;using System.Collections;/// /// 人物的移动/// public class PlayerMove : MonoBehaviour{    private bool isMove;    private Vector3 recordMouseDownPosition;        //记录鼠标单击的位子     public float speed = 1;    public UISprite gameBackground;    public UI2DSprite player;    public UI2DSpriteAnimation playerAnimation;    public Sprite playerLeftState;    public Sprite playerRightState;    private float areaWidth;    private float areaHeight;    //角色移动的边界    void Awake()    {        //获取到背景Sprite的宽度和高度         areaWidth = gameBackground.drawingDimensions.z - player.drawingDimensions.z;        areaHeight = gameBackground.drawingDimensions.w - player.drawingDimensions.w;    }    //开始移动    public void PlayerStartMove()    {        isMove = true;        recordMouseDownPosition = Input.mousePosition;    }    //结束移动    public void PlayerEndMove()    {        isMove = false;    }    void LateUpdate()    {        if (isMove)        {            //鼠标当前坐标-单击被记录的坐标              Vector3 dir = Input.mousePosition - recordMouseDownPosition;            //切换左右人物图片状态              if (dir.x > 0)            {                Debug.Log("切换成左");                playerAnimation.enabled = false;                player.nextSprite = playerRightState;            }            else if (dir.x < 0)            {                Debug.Log("右转弯图片");                playerAnimation.enabled = false;                player.nextSprite = playerLeftState;            }            else if (dir.x == 0)            {                playerAnimation.enabled = true;            }            //让人物跟随手指的方向移动               this.transform.localPosition = new Vector3(                    transform.localPosition.x + dir.x * 0.7f,                    transform.localPosition.y + dir.y * 0.7f,                    transform.localPosition.z);            //防止跑出右边界              if (transform.localPosition.x > areaWidth && dir.x > 0)            {                this.transform.localPosition = new Vector3(                        areaWidth,                        transform.localPosition.y,                        transform.localPosition.z);            }            //防止跑出左边界              if (transform.localPosition.x < -areaWidth && dir.x < 0)            {                this.transform.localPosition = new Vector3(                        -areaWidth,                        transform.localPosition.y,                        transform.localPosition.z);            }            //防止跑出上边界              if (transform.localPosition.y > areaHeight && dir.y > 0)            {                this.transform.localPosition = new Vector3(                        transform.localPosition.x,                        areaHeight,                        transform.localPosition.z);            }            //防止跑出下边界              if (transform.localPosition.y < -areaHeight && dir.y < 0)            {                this.transform.localPosition = new Vector3(                        transform.localPosition.x,                        -areaHeight,                        transform.localPosition.z);            }            recordMouseDownPosition = Input.mousePosition;        }    }}

转载于:https://www.cnblogs.com/plateFace/p/4235097.html

你可能感兴趣的文章
Redis快速入门
查看>>
BootStrap---2.表格和按钮
查看>>
Linear Algebra lecture 2 note
查看>>
CRC计算模型
查看>>
Ajax之404,200等查询
查看>>
Aizu - 1378 Secret of Chocolate Poles (DP)
查看>>
csv HTTP简单表服务器
查看>>
OO设计的接口分隔原则
查看>>
数据库连接字符串大全 (转载)
查看>>
java类加载和对象初始化
查看>>
对于负载均衡的理解
查看>>
django简介
查看>>
window.event在IE和Firefox的异同
查看>>
常见的js算法面试题收集,es6实现
查看>>
IO流写出到本地 D盘demoIO.txt 文本中
查看>>
Windows10 下Apache服务器搭建
查看>>
HDU 5458 Stability
查看>>
左手坐标系和右手坐标系
查看>>
solr后台操作Documents之增删改查
查看>>
http://yusi123.com/
查看>>