球上进攻^^

欢迎来到程序小院

球上进攻

玩法:点击鼠标走动躲避滚动的球球,球球碰到即为游戏结束,看看你能坚持多久,快去玩吧^^。

开始游戏icon-default.png?t=N7T8https://www.ormcc.com/play/gameStart/214

html

  <div id="game" class="game" style="margin: 0 auto;text-align: center;"></div>

css

.game {
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    background-color: #fff;
  }

js

// 为了地震效果,将world的边界扩张一下
  var margin = 50;
  // 四边都增加一个margin
  var x = -margin;
  var y = -margin;
  var w = game.world.width + margin * 2;
  var h = game.world.height + margin * 2;
  // 设置游戏区域
  game.world.setBounds(x, y, w, h);
  game.physics.startSystem(Phaser.Physics.ARCADE);
  // 背景
  var bg = game.add.image(0, 0, 'bg');
  // 地
  this.land = game.add.sprite(0, HEIGHT - 204, 'land' + this.landIndex);
  game.physics.arcade.enable(this.land);
  this.land.body.setSize(1216, 184, 0, 20);
  this.land.body.immovable = true;
  // 小人
  this.hero = game.add.sprite(WIDTH / 2, HEIGHT - 204 + 20);
  // 小人 spine
  var stickman = game.add.spine(0, 0, 'stickman');
  stickman.scale.setTo(1.5, 1.5);
  stickman.setAnimationByName(0, 'Idle', true);
  this.hero.stickman = stickman;
  this.hero.addChild(stickman);
  // 影子
  this.shadow = game.add.sprite(0, stickman.bottom, 'shadow');
  this.shadow.anchor.setTo(0.5, 0.5);
  this.shadow.scale.x = stickman.width / this.shadow.width;
  this.hero.addChild(this.shadow);
  this.hero.dir = 0;
  game.physics.arcade.enable(this.hero);
  this.hero.anchor.setTo(0.5, 0.5);
  this.hero.body.setSize(80, 80, -40, -80);
  // tap数组
  this.hero.taps = [];
  game.input.onDown.add(this.tapDown, this);
  game.input.onUp.add(this.tapUp, this);
  // 球们
  this.balls = game.add.group();
  this.balls.enableBody = true;
  this.ballTimer = game.time.events.loop(Phaser.Timer.SECOND * 1, this.generateBall, this);
  this.leftBall = true;
  // 加分数字们
  this.numberItems = game.add.group();
  this.balls.enableBody = true;
  this.numberTimer = game.time.events.loop(Phaser.Timer.SECOND * 5, this.generateNumber, 
  this);
  // 时间条
  this.gauge = game.add.sprite(0, 0, 'gauge');
  this.gauge.count = 0;
  this.gauge.scale.x = this.game.width / this.gauge.width;
  this.gauge.tint = Math.random() * 0xffffff;
  this.gaugeCropRect = new Phaser.Rectangle(0, 0, 0, this.gauge.height);
  this.gauge.crop(this.gaugeCropRect);
  this.gaugeHead = game.add.sprite(0, 0, 'gaugeHead');
  game.time.events.loop(Phaser.Timer.SECOND * 0.1, function() {
    this.gaugeHead.tint = Math.random() * 0xffffff;
  }, this);

  this.timeTimer = game.time.events.loop(Phaser.Timer.SECOND * 0.1, function() {
    this.gauge.count++;
    this.updateTimeNumber();
  }, this);

  // 时间数字
  this.timeIntegerText = game.add.bitmapText(this.gaugeHead.x, this.gaugeHead.bottom, 
  'numberTime', '0', 32);
  this.timeIntegerText.tint = 0x000000;
  this.dot = game.add.image(this.timeIntegerText.right + 2, this.gaugeHead.bottom + 
  this.timeIntegerText.height - 5, 'white4');
  this.dot.tint = 0x000000;
  this.timeDecimalText = game.add.bitmapText(this.dot.right, this.gaugeHead.bottom, 
  'numberTime', '00', 32);
  this.timeDecimalText.tint = 0x000000;

  // 更改大地颜色
  this.floorTimer = game.time.events.loop(Phaser.Timer.SECOND * 10, function() {
    this.land.loadTexture("landWhite");
    game.time.events.repeat(Phaser.Timer.SECOND * 0.1, 10, function() {
      this.land.tint = Math.random() * 0xffffff;
    }, this);
    game.time.events.add(Phaser.Timer.SECOND * 1, function() {
      this.land.loadTexture("land" + game.rnd.integerInRange(0, 5));
    }, this);
  }, this);

源码

需要源码请关注添加好友哦^ ^

转载:欢迎来到本站,转载请注明文章出处https://ormcc.com/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/232996.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3组合式API详解

目录 一、setup详解 二、ref详解 三、computed详解 四、watch详解 &#xff08;1&#xff09;监听单个数据的变化 &#xff08;2&#xff09;监听多个数据的变化 &#xff08;3&#xff09;immediate &#xff08;4&#xff09;deep &#xff08;5&#xff09;精确监听…

排序:非递归的快排

目录 非递归的快排&#xff1a; 代码分析&#xff1a; 代码演示&#xff1a; 非递归的快排&#xff1a; 众所周知&#xff0c;递归变成非递归&#xff0c;而如果还想具有递归的功能&#xff0c;那么递归的那部分则需要变成循环来实现。 而再我们的排序中&#xff0c;我们可…

PHP入门软件Wampserver与vscode

PHP入门软件Wampserver与vscode Wampserver 一个集成的PHP环境&#xff0c;非常好用&#xff0c;上链接官网&#xff1a;https://www.wampserver.com/#download-wrapper 推荐华军https://www.onlinedown.net/soft/82112.htm 无脑下一步就行&#xff0c;会出现两个弹窗全点否。…

我在Vscode学OpenCV 图像处理二(滤除噪声干扰)

图像处理二 滤除噪声干扰三、噪声3.1图像噪声3.2 滤波3.2.1均值滤波&#xff08;1&#xff09;锚点&#xff08;2&#xff09;中心点&#xff08;下面第3小点会详细解释&#xff09;&#xff08;3&#xff09;核的大小奇偶数的区别&#xff08;1&#xff09;举例奇偶的例子&…

vue-seamless-scroll无缝滚动组件

首先找到他的官网vue-seamless-scroll 1.进行安装依赖 vue2 npm install vue-seamless-scroll --save vue3 npm install vue3-seamless-scroll --save 2.全局引入 vue2 import scroll from vue-seamless-scroll Vue.use(scroll) vue3 import vue3SeamlessScroll fro…

2023年【建筑电工(建筑特殊工种)】免费试题及建筑电工(建筑特殊工种)试题及解析

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年建筑电工(建筑特殊工种)免费试题为正在备考建筑电工(建筑特殊工种)操作证的学员准备的理论考试专题&#xff0c;每个月更新的建筑电工(建筑特殊工种)试题及解析祝您顺利通过建筑电工(建筑特殊工种)考试。 1、【…

不同品牌的手机如何投屏到苹果MacBook?例如小米、华为怎样投屏比较好?

习惯使用apple全家桶的人当然知道苹果手机或iPad可以直接用airplay投屏到MacBook。 但工作和生活的多个场合里&#xff0c;并不是所有人都喜欢用同一品牌的设备&#xff0c;如果同事或同学其他品牌的手机需要投屏到MacBook&#xff0c;有什么方法可以快捷实现&#xff1f; 首先…

第76讲:MySQL数据库中常用的命令行工具的基本使用

文章目录 1.mysql客户端命令工具2.mysqladmin管理数据库的客户端工具3.mysqlbinlog查看数据库中的二进制日志4.mysqlshow统计数据库中的信息5.mysqldump数据库备份工具6.mysqllimport还原备份的数据7.source命令还原SQL类型的备份文件 MySQL数据库提供了很多的命令行工具&#…

Azure Machine Learning - 使用 Azure OpenAI 服务生成图像

在浏览器/Python中使用 Azure OpenAI 生成图像&#xff0c;图像生成 API 根据文本提示创建图像。 关注TechLead&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕&#xff0c;复旦机器人智能实验室成员&#x…

掌握JavaScript继承的精髓:原型继承、构造函数继承以及组合继承的实现技巧

​&#x1f308;个人主页&#xff1a;前端青山 &#x1f525;系列专栏&#xff1a;JavaScript篇 &#x1f516;人终将被年少不可得之物困其一生 依旧青山,本期给大家带来JavaScript篇专栏内容:JavaScript-Javascript如何实现继承&#xff1f; 目录 一、是什么 二、实现方式 …

DataFrame的使用

查看数据类型及属性 # 查看df类型 type(df) # 查看df的shape属性&#xff0c;可以获取DataFrame的行数&#xff0c;列数 df.shape # 查看df的columns属性&#xff0c;获取DataFrame中的列名 df.columns # 查看df的dtypes属性&#xff0c;获取每一列的数据类型 df.dtypes df.i…

Flutter自定义下拉选择框dropDownMenu

利用PopupMenuButton和PopupMenuItem写了个下拉选择框&#xff0c;之所以不采用系统的&#xff0c;是因为自定义的更能适配项目需求&#xff0c;话不多说&#xff0c;直接看效果 下面直接贴出代码、代码中注释写的都很清楚&#xff0c;使用起来应该很方便&#xff0c;如果有任何…

Java开发工具:IDEA 2023.3(WinMac)中文激活版

IntelliJ IDEA 2023是一款由JetBrains公司出品的集成开发环境&#xff08;IDE&#xff09;&#xff0c;专为程序员设计。它以智能、高效和人性化为主要特点&#xff0c;致力于提高开发人员的生产力&#xff0c;帮助程序员更快、更好地编写代码。 在智能功能方面&#xff0c;Int…

51单片机数码管的使用

IO的使用2–数码管 本文主要涉及51单片机的数码管的使用 文章目录 IO的使用2--数码管一、数码管的定义与类型1.1 数码管的原理图二、 举个栗子2.1 一个数码管的底层函数2.2 调用上面的底层函数显示具体数字 一、数码管的定义与类型 数码管是一种用于数字显示的电子元件&#x…

C语言进阶之路之顶峰相见篇

目录 一、学习目标 二、宏定义 预处理 宏的概念 带参宏 无值宏定义 三、条件编译 条件编译 条件编译的使用场景 四、头文件 头文件的作用 头文件的内容 头文件的基础语句&#xff1a; GCC编译器的4个编译步骤&#xff1a; 总结 一、学习目标 掌握宏定义含义和用…

hdlbits系列verilog解答(mt2015_q4b)-53

文章目录 一、问题描述二、verilog源码三、仿真结果一、问题描述 本次我们根据仿真波形图反向设计一个电路。波形如下图: 根据波形,我们可以得到真值表: x y z 0 0 1 0 1 0 1 0 0 1 1 1 逻辑表达式可以写成以下积之和形式: z = (!x&!y) | (x&y); 二、verilog源码…

php使用vue.js实现省市区三级联动

参考gpt 有问题问gpt 实现效果 现省市区三级联动的方法可以使用PHP结合AJAX异步请求来实现。下面是一个简单的示例代码&#xff1a; HTML部分&#xff1a; <!DOCTYPE html> <html> <head><meta charset"UTF-8"><title>省市区三级联动…

基础课20——从0-1客服机器人生命周期

温馨提示&#xff1a;篇幅较长&#xff0c;可点击目录查看对应节点。 1.机器人搭建期 搭建机器人包含&#xff1a;素材整理、问题提炼、相似问题补充、答案编辑、问题分配引擎等等步骤&#xff0c;不同厂商可能有所区别&#xff0c;但关键功能的实现离不开以下步骤。 1.1素材…

MA营销自动化如何助力商家实现精准营销?

惟客数据 MAP 是一个跨渠道和设备的自动化营销平台&#xff0c;允许接触点编排个性化旅程&#xff0c;通过短信、社交推送等方式为您的客户创建无缝的个性化体验&#xff0c;加强客户关系并赢得忠诚度。可与惟客数据CDP 产品无缝配合使用&#xff0c;通过数据驱动做出更实时&am…

Qt实现二维码生成和识别

一、简介 QZxing开源库: 生成和识别条码和二维码 下载地址&#xff1a;https://gitcode.com/mirrors/ftylitak/qzxing/tree/master 二、编译与使用 1.下载并解压&#xff0c;解压之后如图所示 2.编译 打开src目录下的QZXing.pro&#xff0c;选择合适的编译器进行编译 最后生…