C# 移动游戏对象以单击unity 2d中的位置
在unity 2D中,当游戏对象是具有重力的刚体2D时,是否可以将游戏对象移动到单击位置,并且移动看起来像从游戏对象的位置跳到单击位置。任何帮助参考都会非常有用:)像这样的东西C# 移动游戏对象以单击unity 2d中的位置,c#,unity3d,unity3d-2dtools,C#,Unity3d,Unity3d 2dtools,在unity 2D中,当游戏对象是具有重力的刚体2D时,是否可以将游戏对象移动到单击位置,并且移动看起来像从游戏对象的位置跳到单击位置。任何帮助参考都会非常有用:)像这样的东西 Transform projectile; float speed = 5f; void Update() { if(Input.GetMouseButtonDown(0)) { Vector3 target = Camera.main.ScreenToWorldPoint(Input.
Transform projectile;
float speed = 5f;
void Update()
{
if(Input.GetMouseButtonDown(0))
{
Vector3 target = Camera.main.ScreenToWorldPoint(Input.mousePosition);
target.z = projectile.position.z;
Vector3 offset = target - projectile.position;
Vector3 direction = offset.normalized;
float power = offset.magnitude;
projectile.GetComponent<RigidBody2D>().AddForce(direction * power * speed);
}
}
变换射弹;
浮动速度=5f;
无效更新()
{
if(Input.GetMouseButtonDown(0))
{
Vector3 target=Camera.main.ScreenToWorldPoint(Input.mousePosition);
target.z=射弹.position.z;
矢量3偏移=目标-射弹位置;
矢量3方向=偏移量。归一化;
浮动功率=偏移量;
projection.GetComponent().AddForce(方向*功率*速度);
}
}
我尝试了2-3种方法1。跟随点击,但在这里它看起来不像是跳跃。2.计算单击和玩家之间的距离,然后添加力。有时它能起作用,有时却不行。3.移动玩家到点击位置。我想跳到点击位置,这可能需要一些物理计算。这可能会有帮助:谢谢@Andrew,这真的很有帮助