我需要一些帮助(我认为很简单,但我不知道)(对于 android):我有一个 2D 球,它在一个简单的方桌上(你从上面看到它,所以我不需要重力),我想从那个球上拖动并释放,如果你在球“后面”拖动,球会朝那个方向或相反的方向移动。只需将手指放在球上,然后拖动并释放。我在论坛和 youtube 上搜索了 2 天,但找不到我需要的东西。我发现了一些东西,但它真的过时了,对我没有帮助。谢谢您的帮助!如果已经有一些我没有找到的答案,我很抱歉占用您的时间!
1818 次
1 回答
2
这假设您有一个 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);
}
于 2018-10-11T17:53:32.243 回答