Cocos合成大西瓜案例-下

1,923 阅读2分钟

「这是我参与11月更文挑战的第20天,活动详情查看:2021最后一次更文挑战

👉关于作者

众所周知,人生是一个漫长的流程,不断克服困难,不断反思前进的过程。在这个过程中会产生很多对于人生的质疑和思考,于是我决定将自己的思考,经验和故事全部分享出来,以此寻找共鸣!!!

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)

欢迎关注公众号【空名先生】获取更多资源和交流!

👉前提

【这节王牌,我们就要进入游戏主界面啦】

👉实践过程

😜游戏主界面

经过前面两节的学习,到此开始页面我们就搞定了,接着就是进入开始游戏内容啦。

我们先来分析下具体玩法:

  • 1.页面右上角可以提前预览下一个小球内容样式
  • 2.在当前小球下落未完成之前不得再次释放新的小球,防止过快
  • 3.左侧右侧底侧都不允许超界,有格挡物(碰撞肩擦)
  • 4.小球具有自由落体属性以及适当的回弹效果
  • 5.在小球合并过程中播放适当的音频以及合并效果
  • 6.当超过上侧边界的时候要有输的判定和分数的显示
  • 7.可以重新开始游戏和返回首页

所以我们先给其增加背景,左墙,右墙,以及底部地面,位置刚刚好包裹住背面。

为了里面的物体掉落后不出界,需要给墙体增加碰撞器(BoxCollider2D)以及刚体组件(RigidBody2D)

image.png

😜实现返回和重玩

在进行场景变换前,他俩都需要判断下当前所得分是不是大于历史最高分,大于的话则将当前的分保存替换,否则的话就可以不用管。然后利用【director.loadScene】加载场景即可。

对了,别忘记给场景中的按钮指定点击事件。

//重玩游戏
GameRePlay() {
    //也要判断看是否保存数据
    let MaxScore = localStorage.getItem(ScriptStatic.MaxScore);
    if (MaxScore != null) {
        //当前分数和保存的分数做比较如果大 则保存 如果不大不保存
        //parseInt  第二个参数代表的是进制
        if (parseInt(MaxScore.toString(), 10) < ScriptStatic.CurrentScore) {
            localStorage.setItem(ScriptStatic.MaxScore, ScriptStatic.CurrentScore + "");
        }
    }
    //上面先将分数保存
    ScriptStatic.CurrentScore=0;
    director.loadScene("scene_game");
}


//返回上一场景
ClickBack() {
    let MaxScore = localStorage.getItem(ScriptStatic.MaxScore);
    if (MaxScore != null) {
        //当前分数和保存的分数做比较如果大 则保存 如果不大不保存
        //parseInt  第二个参数代表的是进制
        if (parseInt(MaxScore.toString(), 10) < ScriptStatic.CurrentScore) {
            localStorage.setItem(ScriptStatic.MaxScore, ScriptStatic.CurrentScore + "");
        }
    }
    director.loadScene("scene_start");
}

image.png

👉其他

📢作者:小空和小芝中的小空

📢转载说明-务必注明来源:芝麻粒儿 的个人主页 - 专栏 - 掘金 (juejin.cn)

📢欢迎点赞👍收藏🌟留言📝