掉瓶子小游戏

欢迎来到程序小院

掉瓶子

玩法:旋转的瓶子,根据瓶子方向,点击鼠标左键瓶子掉落,从桌面中间掉下即得1分,卡在桌边瓶子碎了游戏结束,快去掉瓶子吧^^。

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

html

  <div id="phaser-example" style="text-align: center;"></div>

css

body{margin: 0%;padding: 0%;
}

js

gameover = false;
//console.log(this.sound);
var bg = this.add.image(0, 0, 'bg').setOrigin(0);
bg.width = game.config.width;
bg.height = game.config.height;//bottle = this.add.sprite(0, 0, 'bottle').setOrigin(0.5).setScale(0.2).setInteractive();
bottle = this.physics.add.sprite(0, 0, 'bottle').setOrigin(0.5).setScale(0.2);
bottle.body.offset.set(bottle.width*2,0);//设置身体偏移量 锚点缩小2倍 偏移需放大2倍
bottle.isRotation = true;
//对象在游戏内居中
// bottle.x = (game.config.width - bottle.width*bottle.scaleX)/2;
// bottle.y = (game.config.height - bottle.height*bottle.scaleY)/2;
bottle.x = (game.config.width - bottle.width*bottle.scaleX)/1.85;
bottle.y = (game.config.height - bottle.height*bottle.scaleY)/4;
bottle.on('pointerdown', function (pointer) {                     //对象的事件监听器//this.setTint(0xff0000);                                         //设置当前元素的填充色});
this.input.on('pointerdown', function (pointer) {bottle.isRotation = false;bottle.body.gravity.y = 500;//game.sound.play('swing');});tables = this.physics.add.staticGroup();
tablel = tables.create(320 - 560/1.67, 480 - 700/4, 'tablel').setScale(0.5);
//tablel.body.y = 340;
tabler = tables.create(560/1.49, 480 - 700/4, 'tabler').setScale(0.5);scoreText = this.add.text(0,0,score);
scoreText.setColor('#0');
scoreText.setFontSize(36);
Phaser.Display.Align.In.TopRight(scoreText, bg);
if(gameover){return;
}
if(bottle.isRotation == true){bottle.angle += angle;
}if (checkOverlap(bottle, tablel)) {collider = true;
} else {collider = false;
}
if (checkOverlap(bottle, tabler)) {collider = true;
} else {collider = false;
}if(collider & bottle.y > 340)
{bottle.destroy();//this.sound.play('sklo2');//此处播放粒子动画particles = this.add.particles('Debris');particles.createEmitter({setFrame: 'sprite-sheet0.png',//frame: [ 'sprite-sheet0.png', 'sprite2-sheet0.png', 'sprite3-sheet0.png' ],x: game.config.width/2,//横坐标y: 340,//纵坐标speed: 50,//速度gravityY: 200,//重力frequency: 1000,//频率lifespan: 2000,//周期alpha: { start: 1, end: 0 },scale: { min: 0.05, max: 0.4 },rotate: { start: 0, end: 360, ease: 'Back.easeOut' },angle: { min: 0, max: 360 },speed: { min: 10, max: 100 },quantity: 12,//一次性的数量on:!false//开关});this.time.addEvent({ delay: 1000, callback: destroyParticles, callbackScope: this });//gameovergameover = true;
}
if(bottle.y > game.config.height){//此处关卡通行进入下一级//this.sound.play('gift');score++;if(Math.floor(Math.random()*(9+1)) >= 5){angle = score;} else {angle = -score;}gameover = false;stateStart('demo',this);
}
// if (isNull(score)){
//     scoreText.setText('score');
// }
scoreText.setText(score);
console.log(score);
var bg = this.add.image(0, 0, 'bg').setOrigin(0);
bg.width = game.config.width;
bg.height = game.config.height;
var bar = this.add.image(0,0,'bar').setOrigin(0).setScale(1,0.6);
bar.setX(0);
bar.setY(bar.height*bar.scaleY*1.25);
bar.width = game.config.width;
bar.height *= bar.scaleY;
scoreText = this.add.text(0,0,'Score:' + score);
var bestText = this.add.text(0,0,'Best:' + bestScore);
Phaser.Display.Align.In.Center(scoreText, bar);
scoreText.y -= scoreText.height;
Phaser.Display.Align.In.Center(bestText, bar);
bestText.y += bestText.height;
var overText = this.add.text(0,0,'Game Over');
overText.setColor('#0');
overText.setFontSize(36);
Phaser.Display.Align.In.TopCenter(overText, bg);
overText.y = bar.y - overText.height * 1.25;var btnRePlay = this.add.image(0,0,'btn').setScale(0.5).setInteractive();
Phaser.Display.Align.In.BottomCenter(btnRePlay, bg);
btnRePlay.y -= btnRePlay.height*btnRePlay.scaleY;
var that = this;
btnRePlay.on('pointerdown', function (pointer) {//game.sound.play('click');score = 0;angle = 1;//alert(this.scene.scene.key);//that.scene.setVisible(false);stateStart('demo',that);btnRePlay.destroy();
});

源码

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全好用性价比高的远程协同运维软件有吗?

据悉不少IT专业人员认为&#xff0c;远程运维风险性更高&#xff0c;更容易给企业带来更大的风险。所以不少运维人员都在求一款安全好用性价比高的远程协同运维软件&#xff0c;因为下班需要&#xff0c;因为碰到IT难题时候需要&#xff0c;因为驻场需要。那你知道市面上安全好…

【多项式回归】拟合有噪声的正弦曲线

先导入模块并创建数据&#xff1a; from sklearn.preprocessing import PolynomialFeatures as PF from sklearn.linear_model import LinearRegression import numpy as nprnd np.random.RandomState(42) #设置随机数种子 X rnd.uniform(-3, 3, size100) y np.sin(X) rnd…

windows下安装zookeeper及kafka

1、下载安装包 https://dlcdn.apache.org/zookeeper/zookeeper-3.9.1/apache-zookeeper-3.9.1-bin.tar.gz 2、下载kafka包 Apache Kafka 3、解压压缩包 4、进入zookeeper目录创建配置的数据目录data及配置的日志目录log 5、复制并配置zoo.cfg文件 6、启动zookeeper&#xff0…

nginx四层tcp负载均衡及主备、四层udp负载均衡及主备、7层http负载均衡及主备配置(wndows系统主备、负载均衡)

准备工作 服务器上安装、配置网络负载平衡管理器 windows服务器热备、负载均衡配置-CSDN博客 在windows服务器上安装vmware17 win10 上安装vmware17-CSDN博客 在windows上利用vmware17 搭建centos7 mini版 在windows上利用vmware17 搭建centos7 mini版本服务器-CSDN博客 …

electron 内部api capturePage实现webview截图

官方文档 .capturePage([rect]) rect Rectangle (可选) - 要捕获的页面区域。 返回 Promise - 完成后返回一个NativeImage 在 rect内捕获页面的快照。 省略 rect 将捕获整个可见页面。 async function cap(){ let image await webviewRef.value.capturePage() console.log(im…

【iOS】将网络请求封装在一个单例类Manager中(AFNetworking、JSONModel)

项目开发中会请求大量不同的API&#xff0c;若将网络请求三板斧直接写在Controller中会代码十分冗杂&#xff0c;干脆直接将AFNetWorking和JSONModel封装到一个全局的Manager单例类中&#xff0c;在Manager类中进行网络请求和数据解析 导入AFNetworking和JSONModel 参考【iOS…

Karmada更高效地实现故障转移

随着云原生技术的发展&#xff0c;其应用场景不断扩大。越来越多的企业开始将应用程序部署在 Kubernetes 集群中&#xff0c;随着 Kubernetes 集群规模的不断扩大&#xff0c;也带来了许多管理挑战&#xff0c;例如多集群间负载均衡、资源调度、故障转移等问题。为了解决这些问…

bclinux aarch64 ceph 14.2.10 对象存储 http网关 CEPH OBJECT GATEWAY Civetweb

相关内容 bclinux aarch64 ceph 14.2.10 文件存储 Ceph File System, 需要部署mds&#xff1a; ceph-deploy mds-CSDN博客 ceph-deploy bclinux aarch64 ceph 14.2.10【3】vdbench fsd 文件系统测试-CSDN博客 ceph-deploy bclinux aarch64 ceph 14.2.10【2】vdbench rbd 块设…

操作系统 | 虚拟机及linux的安装

​ &#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《操作系统实验室》&#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 目录结构 1.操作系统实验之虚拟机及linux的安装 1.1 实验目的 1.2 实验内容 1.3 实验步骤 …

第1关:简单查询

任务描述相关知识 检索数据表的内容编程要求测试说明 任务描述 本关任务&#xff1a; 用 SELECT 语句检索数据表中指定字段的数据&#xff1b; 用 SELECT 语句检索数据表中所有字段的数据。 相关知识 为了完成本关任务&#xff0c;你需要掌握&#xff1a;1.如何获取数据表…

【Qt之QWizard】使用2,示例分析

效果图 根据首页的选择不同&#xff0c;进入不同的选项。 以下是代码。 示例 .h #ifndef LICENSEWIZARD_H #define LICENSEWIZARD_H#include <QWizard>QT_BEGIN_NAMESPACE class QCheckBox; class QLabel; class QLineEdit; class QRadioButton; QT_END_NAMESPACEcla…

java实现计数排序

图解 计数排序是一种线性时间复杂度的排序算法&#xff0c;它不基于比较排序&#xff0c;而是根据待排序序列中元素的值来进行排序。 具体的过程如下&#xff1a; 统计序列中每个元素出现的个数&#xff0c;得到一个计数数组count。其中&#xff0c;count[i]表示待排序序列中值…