cocoscreator开发的出名游戏_Cocos Creator:快速开发推箱子游戏

本文首发于公众号: 一枚小工(caizj_cn)

Cocos 已获得转载授权!

作者:蒲公英,开发工程师,7 年 Cocos 引擎使用经验。


游戏总共分为 4 个功能模块:

  • 开始游戏(menuLayer)

  • 关卡选择(levelLayer)

  • 游戏(gameLayer)

  • 游戏结算(gameOverLayer)

Cocos Creator 内组件效果如下:

1e461d753f9bcc79fb5745533acacde7.png

游戏开始默认显示 menuLayer,游戏中,通过控制各个层级的显示和隐藏,实现不同模块的切换。例如开始游戏,点击开始以后,触发回调函数,切换到游戏关卡选择界面,绑定关系如下图:

29e0f2c14b7db2c05a20cf8261a724bc.png

实现代码如下:
// 开始按钮回调startBtnCallBack(event, customEventData){
    if(this.curLayer == 1){
    return;    }this.curLayer = 1;this.playSound(sound.BUTTON);       this.menuLayer.runAction(cc.sequence(        cc.fadeOut(0.1),        cc.callFunc(() => {
    this.startBtn.stopAllActions();this.startBtn.scale = 1.0;this.menuLayer.opacity = 255;this.menuLayer.active = false;        }    )));this.levelLayer.active = true;this.levelLayer.opacity = 0;this.levelLayer.runAction(cc.sequence(        cc.delayTime(0.1),         cc.fadeIn(0.1),         cc.callFunc(() => {
    this.updateLevelInfo();        }    )));},

其他功能模块实现类似,以下将分4个模块分别讲述各个模块的实现。1. 开始游戏 menuLayer 

开始游戏模块,开始游戏后默认显示,其他模块隐藏,功能实现相对简单,界面布局完成以后,开始游戏按钮添加响应事件即可,实现代码如上,在此界面添加了一个小动画,让开始游戏按钮不断的放大缩小,代码如下:

// 主界面动画menuLayerAni(){
    this.startBtn.scale = 1.0;this.startBtn.runAction(cc.repeatForever(cc.sequence(        cc.scaleTo(0.6, 1.5),         cc.scaleTo(0.6, 1.0)    )));},

实现后的效果:

2ceac67de3f89b0c9744ff20ba109311.gif

2. 关卡选择 levelLayer

关卡选择分两步:第一步,界面显示,通过配置文件,加载预制文件,显示所有关卡;第二步,根据游戏情况,更新每一关卡信息。2.1 第一步显示关卡

游戏中所有关卡置于 ScrollView 控件上,每一个关卡,使用一个预制文件(levelItem),通过读取关卡配置文件,加载所有关卡,加载完成后重新计算 ScrollView 内容的高度,加载关卡代码如下:

// 创建关卡界面子元素createLavelItem (){
    // 进入关卡levellet callfunc = level => {            this.selectLevelCallBack(level);    };for(let i = 0; i < this.allLevelCount; i++){
    let node = cc.instantiate(this.levelItemPrefab);        node.parent = this.levelScroll;let levelItem = node.getComponent("levelItem");        levelItem.levelFunc(callfunc);this.tabLevel.push(levelItem);    }// 设置容器高度this.levelContent.height = Math.ceil(this.allLevelCount / 5) * 135 + 20;},
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值