欢迎来到程序小院
玩法:旋转的瓶子,根据瓶子方向,点击鼠标左键瓶子掉落,从桌面中间掉下即得1分,卡在桌边瓶子碎了游戏结束,快去掉瓶子吧^^。
开始游戏https://www.ormcc.com/play/gameStart/203
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/