为什么在unity中点击地面人物行走到指定地方时不停止,一直往前走

我在制作时遇到这个问题,调试了好久又搜了搜百度,发现原因是:
在这里插入图片描述
鼠标按下左键时,此时会创立一个目的标识点,人物看向目标点,并向前移动。但是 ,当松开鼠标左键时,方法体内的代码就不再运行。如果人物行走到凹凸不平的地面上时,人物的方向会有一点改变,但人物接收的指令是向前走,所以会偏移原来方向一直向前走,无法停止。解决方法呢就是在update()添加让人物一直看向目的标识点,这样人物方向就不会改变,到达目标地点就停止了,下面这是修改后成功的代码,希望能帮到大家:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerControl : MonoBehaviour
{
[SerializeField]
private GameObject[] PlayerPrint;//移动标识

public  static GameObject player;//主角
private CharacterController controller;//行走控制器

private bool IsMoving = false;//表示鼠标是否按下

private Vector3 printPosition = Vector3.zero;
private float speed = 4;//人物行走速度

private Animation Anima;//控制人物动画
// Start is ca
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值