重力

原文地址:http://www.phaser.io/examples/v2/arcade-physics/gravity。

效果

源代码

window.onload = function () {
    var game = new Phaser.Game(600, 400, Phaser.AUTO, 'phaser_container', 
                        { preload: preload, create: create, render: render });

    function preload() {

        game.load.image('ilkke', 'images/phaser/ilkke.png');

    }

    var sprite1;
    var sprite2;
    var sprite3;
    var sprite4;

    function create() {

        game.stage.backgroundColor = '#2d2d2d';

        game.physics.startSystem(Phaser.Physics.ARCADE);

        //  设置全局重力
        game.physics.arcade.gravity.y = 100;

        //  Sprite 1使用全局重力加速度
        sprite1 = game.add.sprite(50, 96, 'ilkke');

        //  Sprite 2忽略全局重力加速度而使用自己的重力加速度
        sprite2 = game.add.sprite(200, 96, 'ilkke');

        //  Sprite 3同时使用全局重力加速度并加上自自身重力加速度调整值gravityScale
        sprite3 = game.add.sprite(350, 96, 'ilkke');

        //  Sprite 4不使用重力效果
        sprite4 = game.add.sprite(500, 96, 'ilkke');

        // 开启物理效果
        game.physics.enable([sprite1, sprite2, sprite3, sprite4], Phaser.Physics.ARCADE);

        sprite1.body.collideWorldBounds = true;
        sprite1.body.bounce.y = 0.8;

        sprite2.body.collideWorldBounds = true;
        sprite2.body.bounce.y = 0.8;
        sprite2.body.gravity.y = 200;

        sprite3.body.collideWorldBounds = true;
        sprite3.body.bounce.y = 0.8;
        sprite3.body.gravity.y = 50;

        sprite4.body.allowGravity = false;

    }

    function render() {

        game.debug.text('全局重力加速度100', sprite1.x - 32, 64);
        game.debug.text('自身重力加速度200', sprite2.x - 32, 64);
        game.debug.text('全局的一半50', sprite3.x - 32, 64);
        game.debug.text('不使用重力效果', sprite4.x - 32, 64);

    }
}

发布时间:2016/9/3 下午8:34:21  阅读次数:4800

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

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号