我一直试图制作一种将AddForce设置为它的磁场。我在某个地方找到了这段代码:
else if(collider.tag == "magnet")
{
float radius = collider.GetComponent<CircleCollider2D>().radius;
Vector3 magnetField = collider.transform.position- transform.position;
float index = (radius - magnetField.magnitude) / radius;
rigidbody2D.AddForce( -4 * force * magnetField * index);
}
确实确实向场地设置了力量,但在它发生之前,如果我的角色的速度很小,它会在相反的方向上设置力。当然,在代码之外还有OnTriggerStay2D。谁能告诉我发生了什么?
先谢谢
答案 0 :(得分:0)
问题的来源,假设“力”是表示磁体吸引该物体的强度的正值,是AddForce方法中的-4。 MagnetField是一个从带有脚本的对象指向磁体的向量,它是对象应该移动的方向,因此不需要否定它。