我是 Unity 新手,正在开发一个简单的项目,但我陷入了困境。
所以我的想法是,当玩家接触球的底部时,它会向相反的方向移动。就像在现实生活中一样,如果你在底部踢球,它就会上升,但在 2D 版本中。
我尝试找到玩家触球的相反点,并通过减去原始点和相反点来制作一个向量,然后施加力来移动球,但它不起作用。
void MoveBall()
{
x = mouseClickPosition.x;
y = mouseClickPosition.y;
oppositeClickPosition.x = -x;
oppositeClickPosition.y = -y;
Vector2 direction = oppositeClickPosition - mouseClickPosition;
rb.AddForce(direction * force, ForceMode.Impulse);
}
Run Code Online (Sandbox Code Playgroud)