像素鸟html代码,flappy-bird方块版(用小方块替代像素鸟)

【实例简介】flappy-bird方块版

【实例截图】

b17078d68eea34ee40bb8fe1b7d0aeaf.png

【核心代码】

// Initialize Phaser, and creates a 400x490px game

var game = new Phaser.Game(400, 490, Phaser.AUTO, 'game_div');

var game_state = {};

// Creates a new 'main' state that will contain the game

game_state.main = function() { };

game_state.main.prototype = {

// Function called first to load all the assets

preload: function() {

// Change the background color of the game

this.game.stage.backgroundColor = '#71c5cf';

// Load the bird sprite

this.game.load.image('bird', 'assets/bird.png');

// Load the pipe sprite

this.game.load.image('pipe', 'assets/pipe.png');

},

// Fuction called after 'preload' to setup the game

create: function() {

// Display the bird on the screen

this.bird = this.game.add.sprite(100, 245, 'bird');

// Add gravity to the bird to make it fall

this.bird.body.gravity.y = 1000;

// Call the 'jump' function when the spacekey is hit

var space_key = this.game.input.keyboard.addKey(Phaser.Keyboard.SPACEBAR);

space_key.onDown.add(this.jump, this);

// Create a group of 20 pipes

this.pipes = game.add.group();

this.pipes.createMultiple(20, 'pipe');

// Timer that calls 'add_row_of_pipes' ever 1.5 seconds

this.timer = this.game.time.events.loop(1500, this.add_row_of_pipes, this);

// Add a score label on the top left of the screen

this.score = 0;

var style = { font: "30px Arial", fill: "#ffffff" };

this.label_score = this.game.add.text(20, 20, "0", style);

},

// This function is called 60 times per second

update: function() {

// If the bird is out of the world (too high or too low), call the 'restart_game' function

if (this.bird.inWorld == false)

this.restart_game();

// If the bird overlap any pipes, call 'restart_game'

this.game.physics.overlap(this.bird, this.pipes, this.restart_game, null, this);

},

// Make the bird jump

jump: function() {

// Add a vertical velocity to the bird

this.bird.body.velocity.y = -350;

},

// Restart the game

restart_game: function() {

// Remove the timer

this.game.time.events.remove(this.timer);

// Start the 'main' state, which restarts the game

this.game.state.start('main');

},

// Add a pipe on the screen

add_one_pipe: function(x, y) {

// Get the first dead pipe of our group

var pipe = this.pipes.getFirstDead();

// Set the new position of the pipe

pipe.reset(x, y);

// Add velocity to the pipe to make it move left

pipe.body.velocity.x = -200;

// Kill the pipe when it's no longer visible

pipe.outOfBoundsKill = true;

},

// Add a row of 6 pipes with a hole somewhere in the middle

add_row_of_pipes: function() {

var hole = Math.floor(Math.random()*5) 1;

for (var i = 0; i < 8; i )

if (i != hole && i != hole 1)

this.add_one_pipe(400, i*60 10);

this.score = 1;

this.label_score.content = this.score;

},

};

// Add and start the 'main' state to start the game

game.state.add('main', game_state.main);

game.state.start('main');

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值