我需要帮助(我认为这很简单,但我不知道)(适用于android):我有一个2D球,在一个简单的方形桌子上(您可以从上方看到它,所以我不知道) (不需要重力),我想从该球上拖动并释放,释放后,如果您向“球”后方拖动,该球会朝该方向或相反方向前进。只需将手指放在球上,然后拖动并释放即可。我在论坛,YouTube和其他地方搜索了2天,但找不到所需的内容。我发现了一些东西,但是它确实过时了,对我没有帮助。谢谢您的帮助!很抱歉,如果您已经找到我找不到的答案,请您抽出宝贵的时间!
答案 0 :(得分:1)
这是假定您已将Rigidbody2D和对撞机连接到球上,并将以与拖动相反的方向发射球。
Rigidbody2D rbody;
Vector2 startpos;
Vector2 endpos;
float power = 5f; // power of shot
void Start()
{
rbody = GetComponent<Rigidbody2D>();
}
void Update()
{
if (Input.GetMouseButtonUp(0))
{
endpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
LaunchBall();
}
}
void OnMouseDown()
{
startpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
}
void LaunchBall()
{
Vector2 direction = (startpos - endpos).normalized; // swap subtraction to switch direction of launch
rbody.AddForce(direction * power, ForceMode2D.Impulse);
}