Creator实战项目JS【FlappyBird】-- 游戏结束面板、分数结算、数据持久化

在面板上添加两个Label节点,一个Medal节点,放置到屏幕外,设置为隐藏。

在玩家碰撞时,激活该面板。

//碰撞开始
onCollisionEnter(other,self){  
	//显示游戏结束面板 -- 
	cc.find('Canvas/base').active = true;
}

写一个脚本控制面板的动作和显示效果。
由于最高分要放置关闭游戏后被清除,将数据存储在硬件上,称为“数据持久化”。
cc.sys.localStorage.setItem(‘maxScore’,cc.maxScore);
cc.maxScore = cc.sys.localStorage.getItem(‘maxScore’);

//控制面板的动作
cc.Class({
    extends: cc.Component,

    properties: {
        lbScore:cc.Label,
        lbBestScroe:cc.Label,
        modalN:cc.Node,
        goldSpriteFrame:cc.SpriteFrame
    },

    start () {
        //面板的动作
        cc.tween(this.node)
        .to(2.0,{position:cc.v2(0,0)})
        .start();

        //刷新分数标签
        this.lbScore.string = cc.score;   //当前分数(在GameMenu中定义的全局变量,在PipeLayer中玩家穿过水管时修改)
        cc.maxScore = cc.maxScore < cc.score? cc.score:cc.maxScore;
        this.lbBestScroe.string = cc.maxScore;  //最高分数

	    //数据持久化(最高分)
	    cc.sys.localStorage.setItem('maxScore',cc.maxScore);
	    cc.maxScore = cc.sys.localStorage.getItem('maxScore');
    },

    //重新开始按钮的回调函数
    btnReset(){
        cc.director.loadScene('Main');
    }
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值