碰撞边界事件
原文地址:http://www.phaser.io/examples/v2/arcade-physics/world-bounds-event。
效果
源代码
window.onload = function () { var game = new Phaser.Game(800, 600, Phaser.AUTO, 'phaser_container', preload: preload, create: create }); function preload() { game.load.image('space', 'images/phaser/space3.png'); game.load.spritesheet('face', 'images/phaser/metalface78x92.png', 78, 92); } function create() { game.add.sprite(0, 0, 'space'); var face = game.add.sprite(0, 0, 'face'); // 石人眨眼的动画 face.animations.add('flash', [0, 1, 2, 3, 2, 1, 0], 24, false); game.physics.startSystem(Phaser.Physics.ARCADE); game.physics.arcade.enable(face); face.body.velocity.setTo(200, 200); face.body.bounce.set(1); face.body.collideWorldBounds = true; // 默认Signal为空,需要手动创建 face.body.onWorldBounds = new Phaser.Signal(); // 然后监听这个事件 face.body.onWorldBounds.add(hitWorldBounds, this); } function hitWorldBounds(sprite) { // 播放眨眼动画 sprite.play('flash'); } }
发布时间:2016/10/1 下午3:58:04 阅读次数:5101