用unity制作打砖块游戏

运用unity制作打砖块游戏是稍微比较简单的,对于我们这些初学者也是可以进行尝试制作且成功运行

那么制作 打砖块游戏的第一步是

一 先要构思要什么控件

既然要打砖块

那么就应该有砖块和打击砖块的东西

于是乎就可以使用cube游戏物体作为游戏中的砖块

unity 怎么制作youxi菜单界面 unity如何制作游戏_unity

unity 怎么制作youxi菜单界面 unity如何制作游戏_c#_02


使用Sphere球型作为子弹来射击

当然,Cube方块是需要有平台的来支撑的,不然设置刚体过后就会直接掉

下去。所以还需要plane组件

unity 怎么制作youxi菜单界面 unity如何制作游戏_游戏开发_03

plane游戏物体作为地面

二 构建游戏场景

既然知道需要什么游戏物体了就可以进行游戏场景的构建了

打砖块的游戏大家都应该玩过,但是怎么用unity制作3D的打砖块呢?构建这个肯定有很多很多方法,比如说用cube垒出一面墙,然后用Sphere进行射击击打,可以设计成这个样子

unity 怎么制作youxi菜单界面 unity如何制作游戏_ci_04


用一个个cube物体软件做成的墙面

也可以加厚呀 加高呀 反正随心的组成你想要的样子。

在这里呢会有一些细节部分

使用ctrl+D进行复制方块,然后按住ctrl可以按照1米为单位的位移

然后复制后会发现有很多很多的cube,这会使得界面看起来很繁杂,为了简洁美观,将复制的cube放入到cube父类里,这样会好一点

unity 怎么制作youxi菜单界面 unity如何制作游戏_游戏开发_05


然后游戏场景基本上就差一些小细节了,场景上肯定不能让他就这么简简单单,干干净净,可以适当的贴一些贴图,做一些漂亮的材质,让整个游戏看起来稍微好看一些, 适当增加一丢丢的游戏体验。

unity 怎么制作youxi菜单界面 unity如何制作游戏_unity_06


三 游戏的脚本和细节部分

场景做好后就是要开始写代码,让游戏的功能得以实现

在写代码前也需要做一些准备工作

创建一个文件夹专门放入游戏物体作为预制体

unity 怎么制作youxi菜单界面 unity如何制作游戏_unity 怎么制作youxi菜单界面_07

同时为Cube和Sphere放上刚体组件

unity 怎么制作youxi菜单界面 unity如何制作游戏_游戏开发_08


这样Cube就能实现被击打的物理效果

Sphere也能有击打功能然后就是子弹部分

子弹部分是需要通过代码进行实列化的

创建一个shoot c#文件

unity 怎么制作youxi菜单界面 unity如何制作游戏_unity_09


然后编写代码

public class shouut : MonoBehaviour
{
    public GameObject zidan;
    public float speed = 20;
    // Start is called before the first frame update
    void Start()
    {
        Debug.Log("Hi gamer!");
       //GameObject.Instantiate(zidan,transform.position,transform.rotation);

    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetMouseButtonDown(0))
        {
            GameObject b= GameObject.Instantiate(zidan,transform.position,transform.rotation);
            Rigidbody rgd = b.GetComponent<Rigidbody>();
            rgd.velocity = transform.forward * speed;
            
        }
    }
}

unity 怎么制作youxi菜单界面 unity如何制作游戏_unity 怎么制作youxi菜单界面_10


这行代码呢就是实列化一个子弹

但是要记得在unity当中把Sphere的预测体添加到

unity 怎么制作youxi菜单界面 unity如何制作游戏_unity_11


创建的Zidan里 这样才让Sphere有了子弹的部分功能

但是现在我们并不能在游戏里出现子弹,所以编写了使用鼠标左键来实列化子弹的代码

unity 怎么制作youxi菜单界面 unity如何制作游戏_ci_12


这里就是当我们单击鼠标左键就实列化一个球体

unity 怎么制作youxi菜单界面 unity如何制作游戏_unity_13


单击鼠标后会出现一个球

当然光这样是不行的,我们还得设置一个速度让它冲击,所以这行代码就是设置子弹的方向和子弹的速度
void Update()
{
if(Input.GetMouseButtonDown(0))
{
GameObject b= GameObject.Instantiate(zidan,transform.position,transform.rotation);
Rigidbody rgd = b.GetComponent();
rgd.velocity = transform.forward * speed;

}
}

这下面的代码意思就是实列化后,他的方向,我们要让他有冲击力,所以它的方向是向前的

GameObject b= GameObject.Instantiate(zidan,transform.position,transform.rotation);

这下面一行呢就是设置子弹的刚刚体和他的射击速度
Rigidbody rgd = b.GetComponent();
rgd.velocity = transform.forward * speed;

当我们设置好后,unity里面也是是可以直接设置的。

unity 怎么制作youxi菜单界面 unity如何制作游戏_游戏开发_14


然后就是需要操作,用什么操作呢?这里我们使用Main Camera作为我们的游戏视角和发射子弹的物体

所以我们的c#脚本是放到Main Camera里的。

要实现控制Main Camer的移动,又要编写代码

这里可以创造另一个c#文件让脚本稍微清晰一点

unity 怎么制作youxi菜单界面 unity如何制作游戏_游戏开发_15

public class movement : MonoBehaviour
{
    public float speed = 3;
    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        float h = Input.GetAxis("Horizontal");
        // Debug.Log(h);
        float v = Input.GetAxis("Vertical");
        transform.Translate(new Vector3(h, v, 0)*Time.deltaTime*speed);
    }
}

我们要让摄像机Main Camera进行移动,那么摄像机移动也是需要速度的,所以又创建了Speed。
update下面的代码就是对应的操纵按键
左右操作就是
float h = Input.GetAxis(“Horizontal”);
上下操作就是
float v = Input.GetAxis(“Vertical”);
摄像机的移动速度和坐标就是
transform.Translate(new Vector3(h, v, 0)Time.deltaTimespeed);
这样摄像机就可以在x y 轴中进行移动了

这样把shoot的c#代码和movemen的代码都放入Main Camera中、

打砖块游戏就做好了!

unity 怎么制作youxi菜单界面 unity如何制作游戏_游戏开发_16