打砖块游戏开发

打砖块游戏开发游戏开发以下是本次游戏中要用到的单词:wall:墙,小球碰到就会反弹的那种墙ground:地面,球碰到地面,这局游戏就结束了brick_layo

大家好,欢迎来到IT知识分享网。

本篇教程要基于Cocos Creator1.5的物理引擎,编写一个简单的打砖块游戏。

新建工程

新建一个工程,取名叫做brick-breaker,brick是什么意思呢,就是砖块的意思,每次给工程起名字,我都能学会一个新单词。

目录结构如下:

打砖块游戏开发

搭建游戏场景

game场景,设置Canvas 。

打砖块游戏开发

先搭一个游戏背景。

打砖块游戏开发

因为我已经做完了,我就不从头做一遍了,所以暂时用不到的节点我就把active关掉)

再建一个物理层,用来装游戏里的带有物理属性的东西,设置锚点为左下角。

打砖块游戏开发

游戏开发

以下是本次游戏中要用到的单词:

wall:墙,小球碰到就会反弹的那种墙

ground:地面,球碰到地面,这局游戏就结束了

brick_layout:砖块布局,这个单词我们之前讲过了就不讲了

ball:球 ,就是球

paddle:桨,这里特指那个可以控制移动的白色长方形

这个wall肯定是要有碰撞属性的,在属性面板,添加一个物理组件

打砖块游戏开发

因为我们的墙有上,左,右三面,所以再添加三个碰撞组件(一个节点可以有多个碰撞组件)。

打砖块游戏开发

编辑一下 。

打砖块游戏开发

地面同理,小球同理,托盘同理 。

打砖块游戏开发

(这里把地面和墙分开是为了后面墙和地面可能有不同的逻辑)

现在已经编辑了几个物理节点的碰撞包围盒,但还没有编辑他们的物理属性(cc.RigidBody)

先从小球开始,点击ball节点,在属性检查器可以看到。

打砖块游戏开发

把第一个参数勾选,代表启用碰撞回调,可以在脚本里写回调函数, Bullet为高速运动的物体开启,避免穿透,这里不用勾选, type选择Dynamic。

static:不会受到力的影响,不会受到速度影响,指的是物理引擎,我们依然可以通过移动节点来改变位置

kinematic:不受力的影响,会受到速度影响

dynamic:受力影响,受速度影响

animated:据说和动画结合使用。

Gravity Scale设置为0(标准是1,数值代表比例),也就是没有重力。

设置线速度(1000,1000)。

打砖块游戏开发

在下面的碰撞组件里,设置Friction (摩擦系数)等于0(没有摩擦力),Restitution(弹性系数)等于1(没有动量损耗)。

因为小球是我们的主角,左右的碰撞都是对球来说的,所以碰撞属性都在小球这一方设置就可以了。

另外要设置wall,ground,paddle,brick的type为static,brick的tag为1,ground的tag为2, paddle的tag为3, wall的tag位4

下面来看脚本

BrickLayout.js

打砖块游戏开发

自己写了一个动态添加砖块的布局脚本,传入需要添加的砖块数量就可以动态加入的布局节点中。

BrickPrefab长这样,我就默认你会做prefab了 。

打砖块游戏开发

OverPanel.js

打砖块游戏开发

结束界面 。

打砖块游戏开发

Paddle.js

打砖块游戏开发

托盘随着手指移动。

Ball.js

打砖块游戏开发

球碰到其他物体,让gameCtl处理。

GameCtl.js

打砖块游戏开发

打砖块游戏开发

打砖块游戏开发

GameCtl挂在Canvas上,保证第一个执行,将对应的组件拖入 。

打砖块游戏开发

GameView.js

打砖块游戏开发

GameModel.js

打砖块游戏开发

游戏到此就结束了,这就是使用Cocos Creator开发的一款打砖块小游戏,简单吧

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/65164.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信