ZBLOG

using UnityEngine; using System.Collections; public class PlayerController1 : MonoBehaviour { public GameObject circlePrefab; // 光圈预制体,需要提前准备好 private GameObject currentCircle; // 当前生成的光圈 private Vector3 targetPosition; // 目标位置 pr...

HandleTouchEndedOrCanceled 函数中,你需要在判断是否在角色身上之后再决定是否进行移动操作。修改代码如下:

void HandleTouchEndedOrCanceled(Touch touch)
{
    if (IsTouchedOnPlayer(touch.position)) // 如果结束时在角色身上,则不进行移动操作
        return;

    Vector2 targetPos = Camera.main.ScreenToWorldPoint(touch.position);
    targetPosition = targetPos;

    if (currentCoroutine != null)
        StopCoroutine(currentCoroutine);

    currentCoroutine = StartCoroutine(MoveToTarget());
}

这样就可以保证只有当触摸事件结束时没有在角色身上时才会进行移动操作。

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=1114

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?