Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 团结,朝着奇怪的方向前进_C#_Unity3d_Vector_Position_Move - Fatal编程技术网

C# 团结,朝着奇怪的方向前进

C# 团结,朝着奇怪的方向前进,c#,unity3d,vector,position,move,C#,Unity3d,Vector,Position,Move,好吧,我有带标记敌人的游戏对象,我收集它们的方式如下: enemies = GameObject.FindGameObjectsWithTag("Enemy"); 之后,我试图移动第一个敌人: int newPositionX; int newPositionY; bool targetReached = false; int moveSpeed = 1; void Update() { if (!targetReach

好吧,我有带标记敌人的游戏对象,我收集它们的方式如下:

 enemies = GameObject.FindGameObjectsWithTag("Enemy"); 
之后,我试图移动第一个敌人:

     int newPositionX;
     int newPositionY;
     bool targetReached = false;
     int moveSpeed = 1;
     void Update()
     {
     if (!targetReached)
         {
             newPositionX = Mathf.FloorToInt(enemies[0].transform.position.x)-1;
             newPositionY = Mathf.FloorToInt(enemies[0].transform.position.y);
             enemies[0].transform.position = Vector3.MoveTowards(enemies[0].transform.position,
                 new Vector3(newPositionX, newPositionY), moveSpeed * Time.deltaTime);
             targetReached = true;
             }
             if (Vector3.Distance(enemies[0].transform.position, new Vector3(
                 newPositionX, newPositionY)) < 0.1f)
             {
                 targetReached = false;
             }
         }

敌人在移动,但我无法阻止它。这让我认为,要使某个对象移动,应该在更新中永久调用moveToward函数?

moveToward返回一个向量,使游戏对象朝目标方向移动一步


另外,我不确定这一点,但看看您的代码,将targetReached设置为false的if语句仅在targetReached已经为false时运行,因此您可能希望将其从if中删除!你可能认为Unity是一个完整的游戏引擎

事实并非如此

最基本的东西,比如吐温和移动,并不是以地球上其他游戏引擎提供的方式提供的

因此,您需要下载并设置插件和附加组件以获得基本功能

搜索用于Unity的tweening引擎,并阅读它们,因为您需要了解它们以及它们如何在下次遇到Unity缺少的基础知识时融入Unity

 targetReached = true;