【发布时间】:2018-07-12 04:41:36
【问题描述】:
我对编码完全陌生,我正在尝试创建一个乒乓球游戏。
我编写了使敌人桨位置随球位置移动的脚本。 (很简单)
public float speed = 6f;
Vector2 player2;
Vector2 player2position;
GameObject ballpos;
void Start ()
{
ballpos = GameObject.FindGameObjectWithTag ("ball");
}
void Update()
{
player2 = Vector2.Lerp (gameObject.transform.position , ballpos.transform.position , Time.deltaTime * speed );
player2position = new Vector2 ( 3.1f , Mathf.Clamp ( player2.y , -2.4f, 2.4f)) ;
gameObject.transform.position = new Vector2 ( 3.1f , player2position.y );
}
代码所做的是敌人桨的“中心”将相对于球的“中心”移动。
现在我要做的是让敌人随机向不同的方向击球,这样敌人桨和球之间的碰撞就发生在敌人桨的边缘。 (并不总是在中心)。
另外,我已经设置了球和敌人桨之间的距离,这样当距离> 3时,敌人的桨就会停止。
if (Mathf.Abs (ballpos.transform.position.x - paddle.transform.position.x) > 3)
{
speed = 0f;
}
if (Mathf.Abs (ballpos.transform.position.x - paddle.transform.position.x) < 3)
{
speed = 6f;
}
你能帮我解决这个问题吗?我一直在尝试这样做大约两天。
谢谢:)
【问题讨论】: