自定义关卡,闯关游戏沙滩足球!Cocos Creator 实现!

游戏预览

 

游戏玩法

▌游戏开始后,在足球附近滑动,出现足球运动轨迹,调整运动方向,松手后,足球将沿着运动轨迹运动,运动过程中碰到星星,就吃星星得分,吃到的星星越多,分数越高。

游戏介绍

▌游戏主要有 3 个场景,游戏开始、关卡选择和游戏中,每一个场景绑定一个逻辑控制脚本组件。

▌游戏开始场景,主要是过渡场景,显示界面,点击开始按钮,跳转到关卡选择场景。


▌关卡选择场景,根据关卡配置,获取当前的所有关卡,并根据以往玩的游戏记录,显示以往各关的成绩。

▌游戏场景,就是游戏的核心,玩家通过操作,实现足球射门效果,根据足球吃到的星星和最终是否进入球门判定游戏成功与否。

游戏实现 

▌开始场景,挂载 GameStart 脚本,玩家点击后跳转至关卡控制场景,进入游戏的第一个场景,声音的播放,也放在这个场景的逻辑内。

▌关卡选择场景,挂载 SelectGame 脚本,默认添加 9 个关卡,从第 1 关至第 9 关,依次加载关卡并显示在一个网格 Layout ,根据本地存储的每一关玩家以往成绩,显示星星数量,再读取存储的以往最好成绩的关卡等级,显示所有可以体验的游戏关卡(即低于和等于最好关卡等级的关卡),锁定没有开启过的关卡。

▌每一个关卡设置成一个预制体,预制体上保留 3 个精灵,标记星星数量,第几关,还有关卡锁,关卡锁显示时,需要屏蔽点击事件,点击不让进入游戏,所以就会在锁图片的节点上,挂在一个 BlockInputEvents 组件。

▌游戏场景,挂载 playGame 脚本,根据当前的关卡等级,选择对应关卡的预制,加载到当前游戏界面。

▌目前游戏内只做了 3 个关卡,如果需要更多,可以自己手动修改各关的配置,达到自己想要的理想效果。

游戏代码

▌点击以下链接,跳转至微店,完整游戏代码在线购买,游戏中完整的关卡只有 3 关,其他关卡可以参考前三关进行配置,只需 ¥9.9

往期精选

精品游戏大炮英雄附带代码!

精品动物同化附代码!

完整代码左右跳!

陀螺仪重力球代码奉上!

100关推箱子代码免费获取!

拼手速的游戏代码!

打地鼠有代码!

3D篮球投篮附代码!

3D足球射门附代码!

如何使用3D素材试玩3D!

扫描二维码

获取更多精彩

一枚小工

让我知道你在看

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cocos creator实现的推箱子游戏,含源码和功能;游戏一共有100关卡。 cc.Class({ extends: cc.Component, properties: { // foo: { // // ATTRIBUTES: // default: null, // The default value will be used only when the component attaching // // to a node for the first time // type: cc.SpriteFrame, // optional, default is typeof default // serializable: true, // optional, default is true // }, // bar: { // get () { // return this._bar; // }, // set (value) { // this._bar = value; // } // }, starImg : cc.Node, itemBg : cc.Node, levelTxt : cc.Node, }, // LIFE-CYCLE CALLBACKS: onLoad () { }, start () { }, //--------显示星星数量-------- /** * @description: 显示星星数量 * @param {boolean} isOpen 是否开启 * @param {starCount} 星星数量 * @param {cc.SpriteAtlas} levelImgAtlas 纹理图 * @param {number} level 关卡 * @return: */ showStar : function(isOpen, starCount, levelImgAtlas, level){ this.itemBg.attr({"_level_" : level}); if(isOpen){ this.itemBg.getComponent(cc.Sprite).spriteFrame = levelImgAtlas.getSpriteFrame("pass_bg"); this.starImg.active = true; this.starImg.getComponent(cc.Sprite).spriteFrame = levelImgAtlas.getSpriteFrame("point" + starCount); this.levelTxt.opacity = 255; this.itemBg.getComponent(cc.Button).interactable = true; }else{ this.itemBg.getComponent(cc.Sprite).spriteFrame = levelImgAtlas.getSpriteFrame("lock"); this.starImg.active = false; this.levelTxt.opacity = 125; this.itemBg.getComponent(cc.Button).interactable = false; } this.levelTxt.getComponent(cc.Label).string = level; }, /

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值