掉瓶子小游戏

欢迎来到程序小院

掉瓶子

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

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

掉瓶子小游戏_第1张图片

html

  

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 });
    //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/

掉瓶子小游戏_第2张图片

你可能感兴趣的:(H5小游戏,javascript,前端,开发语言,游戏,html)