欢迎来到程序小院
玩法:旋转的瓶子,根据瓶子方向,点击鼠标左键瓶子掉落,从桌面中间掉下即得1分,卡在桌边瓶子碎了游戏结束,快去掉瓶子吧^^。
开始游戏https://www.ormcc.com/play/gameStart/203
<div id="phaser-example" style="text-align: center;"></div>
- body{
- margin: 0%;
- padding: 0%;
- }
- 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 });
- //gameover
- gameover = 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/