04 跟随光标移动的图像

原文地址:http://www.phaser.io/examples/v2/basics/04-image-follow-input。

效果

源代码

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

    function preload() {

        //  在preloader函数中可以加载所需的素材

        //  我们加载了一张图像。第一个参数是该图像在代码中的唯一名称,我们可以通过这个名称使用这个图像。

        //  第二个参数是图像的相对URL地址
        game.load.image('phaser', 'images/phaser/phaser.png');

    }

    var sprite;

    function create() {

        //  启用Arcade Physics系统才能使sprite移动
        game.physics.startSystem(Phaser.Physics.ARCADE);

        sprite = game.add.sprite(game.world.centerX, game.world.centerY, 'phaser');
        sprite.anchor.set(0.5);

        //  使这个sprite可以处理物理效果
        game.physics.arcade.enable(sprite);

    }

    function update() {

        //  如果sprite离开光标的距离超过8px,则朝光标移动
        //  否则则保持静止
        if (game.physics.arcade.distanceToPointer(sprite, game.input.activePointer) > 8) {
            game.physics.arcade.moveToPointer(sprite, 300);
        }
        else {
            sprite.body.velocity.set(0);
        }
    }

    function render() {

        game.debug.inputInfo(32, 32);

    }
}

解释

moveToPointer(displayObject, speed, pointer, maxTime)方法

以速度speed将displayObject移动到pointer。如果没有指定pointer,则默认使用Phaser.Input.activePointer。如果指定了maxTime,则会调整速度大小(覆盖你设定的speed),使得在maxTime时间内到达目标。

inputInfo(x, y, color)方法

显示Input对象的调试信息。x、y表示位置,color表示文字颜色,默认为白色。


发布时间:2016/7/31 下午9:19:23  阅读次数:4843

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

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号