平衡球小游戏
先来布置一个简单的场景,以方便我们用来测试接下来要做的各种道具。
场景很简单,添加一个我们的核心小球(sphere),一个广阔的场地(plane)。
接下来我们调整一下小球的位置,大小以及命名,并给小球添加上一个rigidbody组件。
一、控制小球移动
我们还希望能在编辑器中随意控制小球移动的速度,所以还需要一个public的变量。
我们可能会反复使用小球的rigidbody,所以我们为了效率,要把它存储起来。
有了以上的内容,我们就可以写出小球移动的脚本了。
Rigidbody rigid;
public float force=5;
void Start ()
{
rigid = transform.GetComponent<Rigidbody>();
}
void Update ()
{
rigid.AddForce(new Vector3(Input.GetAxis("Horizontal"),0,Input.GetAxis("Vertical"))*force);
}
将脚本挂载到小球上,运行游戏,我们的小球已经可以自由运动了
在创建一个方块,将其拍扁,它就是我们的木板了,这样就可以写循环木板的代码了。
```csharp
using UnityEngine;
public class Board : MonoBehaviour {
Transform trans;
//前进方向
int dir = 1;
public float speed = 1;
void Start ()
{
trans = this.transform;
}
void FixedUpdate ()
{
trans.position += Vector3.forward * speed*Time.fixedDeltaTime*dir;
}
private void OnCollisionEnter(Collision collision)
{
if(!collision.gameObject.CompareTag("Player"))
dir = -dir;
}
}
这样,我们的循环移动的木板也做好了。