在Unity C#中,如何使用较低的飞机将玩家(滚球)发送到起点?

时间:2017-03-15 07:41:30

标签: c# unity3d

我在飞机上有一个滚球,我在飞机上有一个洞。我放在原始飞机下面有一架较低的飞机。我想设置它,以便玩家“球”会回到起点,如果它击中那个较低的飞机。

我很新。我正在考虑使用碰撞方法或可能触发影响或其他东西,但缺乏如何去做这个的知识。有小费吗?

2 个答案:

答案 0 :(得分:0)

我找到了办法。我做到了这样,如果球的垂直位置落在比赛场地下方,它会将游戏对象设置回起始位置,我可以将其设置为第一帧上玩家的位置。

答案 1 :(得分:0)

你可以存储一个"起始位置"作为Vector3并使用Unity的OnCollisionEnter方法将球的位置设置为与该下位置相撞的位置。

// The position of the ball will be stored here.
public Vector3 ballPosition;

// Where the ball should start/go back to if it falls.
public Vector3 startPosition;

void Start() {
    ballPosition = ball.tranform.position;  // Assign the ball position here.
    startPosition = new Vector3(x, y, z);  // Replace x, y, z with your start co-ordinates.
}

// If the ball collides with the lower plane, position it at the Start Position.
void OnCollisionEnter(Collision collision) {
   ballPosition = startPosition;
}

将此代码放入脚本中并将其放在较低的平面上。然后,当任何事物与该平面发生碰撞时,球将被运送到起始位置。