重力与拖动

原文地址: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 20:46:16  阅读次数:4103

2006 - 2024,推荐分辨率1024*768以上,推荐浏览器Chrome、Edge等现代浏览器,截止2021年12月5日的访问次数:1872万9823 站长邮箱

沪ICP备18037240号-1

沪公网安备 31011002002865号