Unity实现弹球打砖块游戏

Unity实现弹球打砖块游戏

本文主要详细介绍了玩弹球和砖块的合一游戏。本文中的示例代码非常详细,具有一定的参考价值。感兴趣的朋友可以参考一下。

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

创建接口记录

摄像机

所需脚本

1射线摄线

使用系统。收藏;

使用系统。集合。泛型;

使用UnityEngine

公共类she xian:monobehavior {

公共游戏对象blit//将公共游戏对象定义为子弹

AudioSource au//定义au声音效果

//使用它进行初始化

void Start () {

au=getcomponent audiosource();//分配声音效果

}

//每帧调用一次Update

void Update () {

雷雷;

RaycastHit命中;

//1.创建光线

//2.射线检测和反馈结果

//用鼠标左键点击某个东西,然后给我们对象的信息。

如果(输入。GetMouseButtonDown(0))

{

//将相机屏幕点转换为线以获得鼠标坐标

ray=camera . main . screenpointtoray(input . mouse position);

//创建光线

If (physics.raycast (ray,out hit))//第一个参数是光线,第二个是碰撞物体。

{

//定义一个bt进行实例化的子弹,实例化对象(实例化对象,定位【摄像头当前位置】,不旋转)

游戏对象bt=游戏对象。Instantiate(blit,transform.position,四元数. identity);

au。play();//播放声音效果

//给一个方向点击位置的坐标——当前位置=一个向量;

vector 3 dis=hit . point-transform . position;

//给bt一个力

bt。GetComponentRigidbody()。add force(dis * 300);

}

}

}

}

将球体预制件拉入Blit box,添加音源组件,将AudioClip拉入子弹音效;唤醒时取消播放

地板

将音乐添加到地板作为背景音乐,然后更改材质的颜色。

空物体copy

用于实例化砖块和挂载copysp脚本。

使用系统。收藏;

使用系统。集合。泛型;

使用UnityEngine

公共类副本sp : MonoBehaviour {

公共游戏对象ga;//定义一个游戏对象

//使用它进行初始化

Void Copy () {//实例化预成型

for(int I=0;i 25I )//使用for循环实现多个实例化

{

//定义一个随机向量x坐标,y坐标,z坐标

Vector3 ve3=新Vector3(随机。范围(-5.0f,5.0f),10.0f,随机。范围(-5.0f,5.0f));

//实例化实例化的对象,其位置,是否旋转(不旋转)

实例化(ga,ve3,四元数. identity);

}

}

无效开始()

{

//延迟多次调用(调用方法,延迟几秒,每隔几秒再调用一次)

invoker repeating( Copy ,2,6);

}

//每帧调用一次Update

void Update () {

}

}

预制体Cube

给盒子碰撞器一个反弹材质。

* * * Unity对象碰撞时的反弹系数:即物理材质的反弹特性。

总之,给物体的碰撞体加上材质属性。

1.首先物体要有碰撞器(长方体碰撞器,球体碰撞器,多边形碰撞器等。).

2.创建物理材质

资产-创建-物理材料

看bouncy ity属性,范围是0到1,可以是小数,其他的暂时不动。

0:没有弹性,1:没有能量损失的反弹。

3.指定给碰撞器的材质属性。

系统自带这些物理材料。

弹力:弹性材料。冰:由冰制成。金属:金属材料。橡胶:由橡胶制成。木头:由木头制成。*

给一个Random Color脚本

使用UnityEngine

使用系统。收藏;

公共类RandomColor : MonoBehaviour

{

//使用它进行初始化

无效开始()

{

//获取组件材料。颜色

this . game object . getcomponentmesh renderer()material . color=randomcolor 1();//给游戏对象添加以下随机颜色。

}

/*浮点定时器;

//随时间改变颜色

//每帧调用一次Update

无效更新()

{

timer-=time . delta time;

如果(定时器=0)

{

这个。游戏对象。getcomponentmesh渲染器()材质。color=random color 1();

定时器=1;

}

}*/

公共颜色RandomColor1()

{

浮点r=随机。范围(0f,1f);

浮点g=随机。范围(0f,1f);

浮点b=随机。范围(0f,1f);

颜色颜色=新颜色(r,g,b);

返回颜色;

}

}

给一个Cube销毁脚本

使用系统。收藏;

使用系统。集合。泛型;

使用联合工程

公共类魔方小惠:monobehavior {

//使用它进行初始化

void Start () {

}

//每帧调用一次更新

void Update () {

如果(这个。转变。位置。y 0)//如果此物体的y坐标小于0,销毁此物体;

{

销毁(这个。游戏对象);

}

其他

{

Destroy(this.gameObject,100);//或者100秒后销毁

}

}

}

球体预制体Sphere

给个反弹材质,挂载随机颜色脚本,挂载小惠脚本

使用系统。收藏;

使用系统。集合。泛型;

使用联合工程

公共课小惠:单行为{

音频源音频;//销毁的音效

//使用它进行初始化

void Start () {

audio=get component audio source();//承接一下音效组件

}

void OnCollisionEnter(碰撞碰撞)//被碰撞的形参

{

if(coll .游戏对象。tag== Player )//如果碰到标签为玩家的物体,就销毁它

{

音频. play();//播放音效

destroy(coll .游戏对象);//销毁碰撞的物体

}

}

//每帧调用一次更新

void Update () {

Destroy(this.gameObject,10);//此物体十秒后自己消失

}

}

添加销毁音效,至此大功告成。

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

Unity实现弹球打砖块游戏