重力与拖动
原文地址:http://www.phaser.io/examples/v2/arcade-physics/gravity-and-drag。
效果
源代码
window.onload = function () {
var game = new Phaser.Game(600, 400, Phaser.AUTO, 'phaser_container',
{ preload: preload, create: create });
function preload() {
game.load.image('ilkke', 'images/phaser/atari800xl.png');
}
var sprite;
function create() {
game.stage.backgroundColor = '#2d2d2d';
game.physics.startSystem(Phaser.Physics.ARCADE);
// 设置全局重力加速度
game.physics.arcade.gravity.y = 100;
sprite = game.add.sprite(100, 96, 'ilkke');
game.physics.arcade.enable(sprite);
sprite.body.collideWorldBounds = true;
sprite.body.velocity.x = 200;
sprite.body.bounce.set(0.9);
// 开启sprite的拖动
sprite.inputEnabled = true;
sprite.input.enableDrag();
sprite.events.onDragStart.add(startDrag, this);
sprite.events.onDragStop.add(stopDrag, this);
game.add.text(32, 32, '拖动并释放sprite', { font: '16px Arial', fill: '#ffffff' });
}
function startDrag() {
// 在physics和input的情况下,无法使sprite移动,所以在拖动时必须首先关闭物理效果
sprite.body.moves = false;
}
function stopDrag() {
// 重新开启物理效果
sprite.body.moves = true;
}
}
发布时间:2016/9/3 下午8:46:16 阅读次数:5524
