《cocos2d-js教学课件》3cocos2d-js实例-碰碰糖.pptx
《《cocos2d-js教学课件》3cocos2d-js实例-碰碰糖.pptx》由会员分享,可在线阅读,更多相关《《cocos2d-js教学课件》3cocos2d-js实例-碰碰糖.pptx(70页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Cocos2d-JS 实例教程鲍健运 Cocos引擎技术布道师,开发者关系部功能说明功能说明消除类游戏点击消除多个连续的糖果设定5种颜色的糖果同一颜色糖果(至少2个)连在一起时,点击可以同时消除糖果消失后,从正上方生成新的糖果下落补充简单关卡设计:每一关限制玩家在指定步数内获得足够多的分数,关卡越往后,难度越大新建项目新建项目通过Cocos,新建Cocos2d-JS项目,使用WebStorm打开项目,游戏名称自定游戏尺寸 720 X 1280(背景图)糖果居中排列 10 X 10每个糖果尺寸 64 X 64图片名称:1.png,2.png,3.png,4.png,5.png(糖果)bg.png
2、(游戏背景)新建项目新建代码:app.js游戏核心 GameScene 类和 GameLayer 类,管理糖果的布局和消除逻辑Candy.js继承Sprite,专门用于加载一个糖果图片Constant.js常量列表GameUI.js游戏的UIStorage.js负责游戏的数据存储和读取新建项目resource.js新建项目main.js新建项目project.json制作糖果制作糖果Candy.js 扩展 Sprite把糖果的加载工作封装起来每个糖果除了基本图片外,还有3个属性:类型(颜色)、列号、行号即 function(type,column,row)制作糖果Candy.js通过基类的初始
3、化方式,创建糖果的Sprite等价于new cc.Sprite(“res/”+(type+1)+“png”)制作糖果Candy.js为什么需要 type+1?因为糖果的图片是 1.png 5.png,而type的类型从0 4便捷的静态方法:制作糖果Candy.jsCandy.createRandomType 方法:没有var 静态方法,即不需要newnew Candy(type,column,row)由Candy的构造函数ctor决定Math.random()生成随机数方法,值(=0,1)Constant.CANDY_TYPE_COUNT 糖果的种类数量(5)parseInt 转化为数字即第一
4、个参数的含义:随机取数字,值在04,并确保转化为数字类型制作糖果Constant.js 常量设定游戏界面游戏界面显示当前关卡、当前分数和剩余步数随着玩家的操作,这三个数字会不断变化使用LabelTTFGameUI.js 扩展Layer,建立GameUI类游戏界面GameUI.jslevelText,scoreText,stepText表示在GameUI这个Layer的扩展类里,创建了以levelText,scoreText,stepText命名的临时变量,初始值为null,即空对象,并未指定类型游戏界面app.jsGameLayer显示背景图片运行查看效果,背景图片描绘游戏界面GameUI.j
5、s使用LabelTTF用于显示信息为了代码清晰,建立私有函数_initInfoPanel来完成信息栏的初始化三个信息除了数字之外,还需要三个标签:“Level”,“Score”,“Step”一共需要建立六个LabelTTF对象_initInfoPanel(),紧跟在ctor方法后写游戏界面GameUI.js私有函数_initInfoPanel游戏界面GameUI.js私有函数_initInfoPanel 续游戏界面GameUI.js私有函数_initInfoPanel 三个信息显示在屏幕上方,从左到右分别是Level、Score和Step为了更好的显示,设置LabelTTF纵向位置使窗口高度减
6、去固定值的做法。好处:调整屏幕宽和高,只需要修改html和main.js就可以了,不需要逐个界面去调整为了便于后续修改信息,levelText、scoreText和stepText记录到GameUI类的私有属性中(this.levelText=levelText)游戏界面GameUI.js需要使用定时器,让信息栏不断刷新可以在构造函数中调用scheduleUpdate实现每帧不断刷新缺点:有点浪费性能,毕竟游戏不是每帧都发生信息变化优点:函数调用不用多写,便于代码实现。而且,信息栏只有3个LabelTTF,刷新消耗极小,是简单的做法解决数据来源:让GameLayer新建GameUI的时候将自身
7、传递进来游戏界面GameUI.js游戏界面GameUI.js其中,从GameLayer获取当前关卡、分数、剩余步数等信息。这些预先假设GameLayer将有level、score等公共属性游戏界面GameUI.js显示胜利结果游戏界面GameUI.js显示胜利结果游戏界面GameUI.js显示失败结果游戏界面GameUI.js显示失败结果遮罩(ClippingNode)使用遮罩app.js创建GameScene,游戏的唯一场景使用遮罩app.js创建GameLayerGameLayer中有三层内容:最底下的背景图、中间10 X 10的糖果矩阵、最上层的GameUI由于糖果矩阵和GameUI会继
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cocos2d-js教学课件 cocos2d js 教学 课件 实例 碰碰
限制150内