好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

Unity实现打砖块游戏

本文实例为大家分享了Unity实现打砖块游戏的具体代码,供大家参考,具体内容如下

效果演示

1.创建墙

1.1我们用预制体来统一管理墙

方便以后对墙进行修改

1.2我们还需要给砖块一个刚体组件(物理属性),不然墙就固定在那里不动。

1.3 把砖块弄出来 再弄成一堵墙

2.发射子弹

我们将子弹也用预制体的方式创造。

这时就到了我们写代码的时候了。

using System.Collections; using System.Collections.Generic; using UnityEngine; ? public class shoot : MonoBehaviour { ? ? public GameObject bullet;//定义游戏物体 (子弹) ? ? float speed = 30;//子弹速度 ? ? // Start is called before the first frame update ? ? void Start() ? ? { ? ? ? ? ? ? } ? ? ? // Update is called once per frame ? ? void Update() ? ? { ? ? ? ? if(Input.GetMouseButtonDown(0))//是否按下鼠标左键 ? ? ? ? { ? ? ? ? ? ?? ? ? ? ? ? ?GameObject b=GameObject.Instantiate(bullet,transform.position,transform.rotation);//生成子弹的位置 ? ? ? ? ? ? Rigidbody rd = b.GetComponent<Rigidbody>();//得到生成子弹的刚体组件 ? ? ? ? ? ? rd.velocity = transform.forward * speed;//为子弹施加速度 ? ? ? ? } ? ? } }

将这段代码给摄像机就可以在运行游戏时按下鼠标左键发射子弹

3.移动发射

将以下脚本代码给摄像机就可以完成移动了

using System.Collections; using System.Collections.Generic; using UnityEngine; ? public class hv: MonoBehaviour { ? ? // Start is called before the first frame update ? ? void Start() ? ? { ? ? ? ?? ? ? } ? ? ? // Update is called once per frame ? ? void Update() ? ? { ? ? ? ? float h=Input.GetAxis("Horizontal");//水平方向 ? ? ? ? float v = Input.GetAxis("Vertical");//垂直方向 ? ? ? ? transform.Translate(new Vector3(h, v, 0)/60);//移动速度 ? ? } }

4.检验

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

查看更多关于Unity实现打砖块游戏的详细内容...

  阅读:53次