Unity项目 - 打砖块游戏
基本功能:实现WASD进行视角在XY轴方向的移动,其次按下鼠标左键产生子弹bullet对面前的砖块cube进行碰撞。
主界面:

运行情况:

动态过程:

项目地址:BreakBricks
制作过程:
- 创建平面
plane做场景的地面 - 创建砖块的预制体
Cube,包含信息有- 碰撞体
Box Collider - 材质
Cube Material - 刚体
Rigidbody
- 碰撞体
- 复制砖块堆积创建墙壁
TotalCubes - 对镜头
Main Camera编写脚本Short.cs及Movement.csMovement:键盘读取WASD值对视角进行XY轴的移动Short:单鼠标左键按下即实体化子弹预制体bullet,并且赋予初速度
- 至此实现基本功能,以下为其他可添加功能
- 弹跳性:创建
Physic Material材质,其中Bounciness属性即为弹性(0代表无弹力,1表示完全反弹),将其赋予Collider的Material即可实现
- 弹跳性:创建
//Short.cs
using UnityEngine;
public class Short : MonoBehaviour
{
public GameObject bullet;
public float speed = 5;
void Start()
{}
void Update()
{
//左键按下产生子弹
if(Input.GetMouseButtonDown(0))
{
GameObject b = GameObject.Instantiate(bullet, transform.position, transform.rotation);
Rigidbody rgd = b.GetComponent<Rigidbody>();
rgd.velocity = transform.forward * speed;
}
}
}
//Movement.cs
using UnityEngine;
public class Movement : MonoBehaviour
{
public float speed = 5;
void Start()
{}
void Update()
{
float h = Input.GetAxis("Horizontal"); //x轴
float v = Input.GetAxis("Vertical"); //y轴
//Debug.Log(h);
transform.Translate(new Vector3(h, v, 0) * Time.deltaTime * speed);
//左右镜头移动速度1 m/s * speed
}
}

浙公网安备 33010602011771号