Unity实现弹球打砖块游戏 您所在的位置:网站首页 弹球小游戏编程教程图片 Unity实现弹球打砖块游戏

Unity实现弹球打砖块游戏

2024-07-12 08:38| 来源: 网络整理| 查看: 265

这篇文章主要为大家详细介绍了Unity实现弹球打砖块游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

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

创作界面记录

摄像机

所需脚本

1射线shexian

using System.Collections; using System.Collections.Generic; using UnityEngine; public class sheixian : MonoBehaviour {     public GameObject blit;//定义一个公共的游戏物体来当子弹     AudioSource au;//定义一个au音效     // Use this for initialization     void Start () {         au = GetComponent();//赋值音效     }     // Update is called once per frame     void Update () {         Ray ray;         RaycastHit hit;         //1.创建射线         //2.射线检测并反馈结果         //鼠标左键点击一个东西,然后反馈给我们物体信息         if (Input.GetMouseButtonDown(0))         {             //把摄像机屏幕点转化为线             获取鼠标坐标             ray = Camera.main.ScreenPointToRay(Input.mousePosition);             //创建射线             if (Physics.Raycast(ray, out hit))//第一个参数是射线,第二个是碰撞的物体             {                 //定义一个bt承接实例化的子弹, 对象实例化(实例化对象,位置[摄像机当前位置],不旋转)                 GameObject bt = GameObject.Instantiate(blit, transform.position, Quaternion.identity);                 au.Play();//播放音效                 //给一个方向   点击位置的坐标-当前位置=一个向量;                 Vector3 dis = hit.point - transform.position;                 //给bt一个力                 bt.GetComponent().AddForce(dis * 300);             }         }     } }

把Sphere预制体拉入Blit框,添加Audio Source组件,AudioClip拉入子弹音效;取消Play On Awake

地板

给地板添加音乐来当背景音乐,再给个材质改变颜色

空物体copy

用来实例化砖块,挂载copysp脚本

using System.Collections; using System.Collections.Generic; using UnityEngine; public class copysp : MonoBehaviour {     public GameObject ga;//定义一个游戏物体     // Use this for initialization     void Copy () {    //实例化预制体             for (int i = 0; i < 25; i++)//用for循环来实现多个实例化             {                 //定义一个随机向量          X坐标                     ,Y坐标,  Z坐标                 Vector3 ve3 = new Vector3(Random.Range(-5.0f, 5.0f), 10.0f, Random.Range(-5.0f, 5.0f));                 //实例化     实例化物体,位置,是否旋转(不旋转)                 Instantiate(ga, ve3, Quaternion.identity);             }            }     void Start()     {         //延时多次调用   (调用的方法,延时几秒,隔几秒再次调用)         InvokeRepeating("Copy", 2, 6);     }     // Update is called once per frame     void Update () {     } }

预制体Cube

给Box Collider一个反弹材质***Unity物体碰撞时的反弹系数:也即Physic Material的 Bounciness属性。  

一句话,给物体的Collider添加Material属性即可

1、首先,物体要有Collider(BoxCollider, SphereCollider,PolygonCollider等)

2、创建一个Physic Material

Asset -> Create->Physic Material

看到Bounciness这个属性,区间是0到1,可以小数,其他暂不动。0值:没有弹力,1值:没有能量损失的反弹。  

3、赋值给Collider的Material属性。

系统自带这几种物理材质

Bouncy:弹性材质。Ice:冰材质。Metal:金属材质。Rubber:橡胶材质。Wood:木头材质。*

如图

给一个Random Color脚本

using UnityEngine; using System.Collections; public class RandomColor : MonoBehaviour {     // Use this for initialization     void Start()     {         //获取组件      材质.颜色         this.gameObject.GetComponent().material.color = RandomColor1();//给游戏物体添加下方随机颜色方法     }     /*float timer;     //随着时间变换颜色     // Update is called once per frame     void Update()     {         timer -= Time.deltaTime;         if (timer


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有