飞机打方块(四)游戏结束

这篇具有很好参考价值的文章主要介绍了飞机打方块(四)游戏结束。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、游戏结束显示

1.新建节点

1.新建gameover节点飞机打方块(四)游戏结束,游戏

2.绑定canvas

飞机打方块(四)游戏结束,游戏

3.新建gameover容器

飞机打方块(四)游戏结束,游戏 4.新建文本节点

飞机打方块(四)游戏结束,游戏

2.游戏结束逻辑 

Barrier.ts

update(dt: number) {
        //将自身生命值取整
        let num = Math.floor(this.num);
        //在Label上显示
        this.num_lb.string = num.toString();

        //获取GameController脚本
        let gc = cc.find("Canvas").getComponent("GameController");

        //自身移动
        if (gc.is_barrier_move == true) {
            this.node.y -= dt * this.speed;
        }
        //获取canvas节点
        let canvas = cc.find("Canvas");
        //如果自身到了屏幕最下方
        if (this.node.y <= -(canvas.height / 2)) {
            //获取GameController脚本
            let gc = cc.find("Canvas").getComponent("GameController");
            //调用游戏结束函数
            gc.gameover()
        }
    }

 GameController.ts

 @property({ type: cc.Node, displayName: "游戏结束时显示的节点", tooltip: "游戏结束时显示的节点" })
    gameover_UI: cc.Node = null;

//破纪录文字节点,如果复活将删除原有破纪录节点
    lb: cc.Node = null;

    //显示最终分数的文字
    ultimately_score_lb: cc.Label = null;



onLoad() {

        cc.game.setFrameRate(90)

        //恢复游戏,避免游戏暂停导致无法继续
        cc.director.resume();

        //给Canvas绑定事件
        this.canvas.on(cc.Node.EventType.TOUCH_MOVE, this.onMove, this)


        //开启碰撞引擎
        let manager = cc.director.getCollisionManager();
        manager.enabled = true;
        //如果要调试
        if (this.is_debug == true) {
            // 是否绘制碰撞组件的形状,默认为不绘制
            manager.enabledDebugDraw = true;
            //是否绘制碰撞组件的包围盒,默认为不绘制
            manager.enabledDrawBoundingBox = true;
        }
        //创建障碍物
        this.create_barrier();
        this.cre_bar_f = (this.barrier_height / this.barrier_speed) + Math.random() * this.generation_interval;


        //生成显示最终得分的文字
        let score_lb = new cc.Node;
        score_lb.parent = this.gameover_UI.children[0];
        score_lb.addComponent(cc.Label)
        score_lb.getComponent(cc.Label).string = "最终得分:" + Math.floor(this.score);
        score_lb.getComponent(cc.Label).overflow = cc.Label.Overflow.SHRINK;
        this.ultimately_score_lb = score_lb.getComponent(cc.Label);
        score_lb.color = cc.color(0, 0, 0, 255);

    }


 //游戏结束函数
    gameover() {
        //打印log
        cc.log("游戏结束");
        //将游戏暂停
        cc.director.pause();
        //显示游戏结束的UI
        this.gameover_UI.active = true;
        //隐藏飞机
        this.plane.active = false;


        //更新最终分数
        this.ultimately_score_lb.string = "最终得分:" + Math.floor(this.score);
        //获取历史最高分
        let score = cc.sys.localStorage.getItem("score");
        //如果破纪录了,更新历史最高分
        if (this.score > score) {
            cc.sys.localStorage.setItem("score", this.score);
            cc.log("破纪录了");

            //生成显示破纪录的文字
            let lb = new cc.Node;
            lb.getComponent(cc.Label);
            lb.getComponent(cc.Label).string = "破纪录了";
            lb.color = cc.color(0, 0, 0, 255);
            lb.parent = this.gameover_UI.children[0];

            //获取破纪录文字节点
            this.lb = lb;
        }
        //隐藏所有特殊按钮
        this.special_btn.active = false;
    }

飞机打方块(四)游戏结束,游戏

2.复活按钮 

1.新建button按钮节点,绑定按钮事件 

飞机打方块(四)游戏结束,游戏

GameController.ts

 @property({ type: cc.Node, displayName: "复活按钮", tooltip: "复活按钮,点击一次复活按钮将隐藏" })
    btn_resurgence: cc.Node = null



//复活函数
    resurgence() {
        //恢复暂停的场景
        cc.director.resume();
        //关闭游戏结束时显示的UI
        this.gameover_UI.active = false;
        //移除所有障碍物,如果不移除,游戏将再次结束
        this.remove_all_barrier();
        //显示飞机
        this.plane.active = true;
        //隐藏复活按钮
        this.btn_resurgence.active = false;
        //显示所有特殊按钮
        this.special_btn.active = true;
        //销毁破纪录文字节点
        this.lb.destroy()
    }

 2.绑定canvas

飞机打方块(四)游戏结束,游戏

飞机打方块(四)游戏结束,游戏 

复活一次后

飞机打方块(四)游戏结束,游戏 

3.重玩按钮 

1.新建button按钮节点,绑定按钮事件 

飞机打方块(四)游戏结束,游戏

GameController

//重新开始游戏函数
    reply(){
        cc.director.loadScene("Game")
    }

飞机打方块(四)游戏结束,游戏

4.返回开始界面按钮 

1.新建button按钮节点,绑定按钮事件 

飞机打方块(四)游戏结束,游戏

飞机打方块(四)游戏结束,游戏 

 文章来源地址https://www.toymoban.com/news/detail-663124.html

到了这里,关于飞机打方块(四)游戏结束的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 俄罗斯方块小游戏开发

    代码图: 结果图:

    2024年02月04日
    浏览(45)
  • 俄罗斯方块游戏(C语言)

    简介:俄罗斯方块(Tetris)是一款经典的游戏,下面是用C语言实现俄罗斯方块的示例代码: code 这是一个非常简单的俄罗斯方块游戏,只有基本的方块形状和控制操作。如果想要更加完整的游戏体验,可以添加更多的方块形状、音效、背景音乐、计分系统等等。 分析 这份代

    2024年02月07日
    浏览(32)
  • Javascript 俄罗斯方块 游戏代码

    本俄罗斯方块代码采用 JavaScript 脚本代码写成,简单易懂; 全代码采用静态类及静态变量成员组成; 全脚本通过实现代码全局配置 OLSFK.Options = {...} 定义方块起始坐标及定义各自的旋转点; 从初始化俄罗斯方块界面开始,再监听键盘事件;以及左右,向下及旋转动作判断,

    2024年02月07日
    浏览(37)
  • Java小游戏-俄罗斯方块

    摘 要 随着时代的不断发展,个人电脑也在不断普及,一些有趣的桌面游戏已经成为人们在使用计算机进行工作或工作之余休闲娱乐的首选,从最开始的Windows系统自带的黑白棋、纸牌、扫雷等游戏开始,到现在目不暇接的各种游戏,游戏已经成为人们在使用计算机进行工作或

    2024年02月03日
    浏览(39)
  • 前端实现俄罗斯方块游戏(内含源码)

    目录 一、前言 二、功能介绍 三、页面搭建 四、样式设置 五、逻辑部分         今天带领大家完成俄罗斯方块游戏,功能也比较简单,也是想借助这样一个简单的功能,然后来帮助大家了解我们JavaScript在前端中的作用, 后续也会带领大家用前端一些有趣的小游戏,纯前

    2024年02月12日
    浏览(40)
  • 俄罗斯方块游戏设计与实现(Python)

    目录 第一章 绪论 1 1.1 任务概述 1 1.1.1 软件功能 1 1.1.2 运行环境 1 1.2 需求分析 3 1.2.1 游戏界面 3 1.2.2 菜单操作 3 1.2.3 游戏操作 3 1.3 设计目的 4 第二章 相关技术及开发工具 5 2.1 python介绍 5 2.2 python发展历史 6 2.3 python特点 6 2.4 python开发环境构建 7 第三章 概要设计 8 3.1 程序流程

    2024年02月02日
    浏览(52)
  • 01 俄罗斯方块游戏 FQA(图文教程)

    报错提示 :在命令提示符中输入.py文件,或在其他编译器(如PyCharm)运行时,出现“ModuleNotFoundError: No module named \\\'pygame\\\'”报错 报错原因 :所运行的源程序中包含pygame库,但当前未安装。 解决办法 : ① 在python控制台,输入安装命令“pip install pygame”; ② 完成库安装后,重

    2024年02月21日
    浏览(26)
  • HTML5 游戏开发实战 | 俄罗斯方块

      俄罗斯方块是一款风靡全球的电视游戏机和掌上游戏机游戏,它曾经造成的轰动与造成的经济价值可以说是游戏史上的一件大事。这款游戏看似简单但却变化无穷,游戏过程仅需要玩家将不断下落的各种形状的方块移动、翻转,如果某一行被方块充满了,那就将这一行消掉

    2024年02月11日
    浏览(33)
  • 闲来无事整个“方块消消乐”小游戏

      在996是福报,“付费上班”的如今。身为信息化进程的一颗螺丝钉,每天的通勤时间要四十几分钟(仅仅是在地铁上哦),漫漫这时候回家路难免显得有点寂寞有点空虚。这时好学的人会说听听有声书,趁着下班时间提升自己。而我可要优雅的回应道:“老子搬了一天砖

    2024年02月16日
    浏览(42)
  • Vue2模拟俄罗斯方块小游戏

    目录 一、效果展示 二、代码分享 三、原理分析 3.1、界面搭建 3.2、方块创建 3.3、方块旋转 3.4、方块移动 3.5、移动判断 3.6、下落判断与清除 3.7、得分计算  工具函数:   主界面的20X10,类似贪吃蛇,副界面的随机方块,则是4x4,都是双重for循环。初始化的时候调用gameFram

    2024年02月08日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包