如何解决我如何只用1个坐标跟随我的玩家位置来移动敌人
我正在制作2D游戏,我只希望我的敌人跟随我的玩家并仅靠Y坐标跟随部分,这意味着如果我的玩家向上或向下移动,敌人将会跟随但不会向前移动。 这是我当前在敌人脚本中的代码:
if (Vector2.Distance(transform.position,target.position) > 200)
{
transform.position = Vector2.MoveTowards(transform.position,target.position,speed * Time.deltaTime);
}
else
{
// i want my enemy following my player with only Y coordinate right here,not moving forward anymore
}
解决方法
if (Vector2.Distance(transform.position,target.position) > 200)
{
transform.position = Vector2.MoveTowards(transform.position,target.position,speed * Time.deltaTime);
}
else
{
// i want my enemy following my player with only Y coordinate right here,not moving forward anymore
transform.position = Vector2.MoveTowards(transform.position,new Vector2(transform.position.x,target.position.y),speed * Time.deltaTime);
}
,
Vector2结构具有两个位置分量:x和y。要沿y轴移动,请创建一个临时Vector2以存储变换后的位置,并仅复制y分量。
Vector2 temporaryPosition = Vector2.MoveTowards(transform.position,speed * Time.deltaTime);
if (Vector2.Distance(transform.position,target.position) > 200)
{
//copying the x and y position if the distance is greater than 200
transform.position = temporaryPosition;
}
else
{
// copy the x position if the distance is below or equal to 200
transform.position = new Vector2 (transform.position.x,temporaryPosition.y);
}
您可以找到有关Vector2 here
的更多文档版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。