组内处理

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

效果

源代码

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

    function preload() {

        game.load.spritesheet('spinner', 'images/phaser/bluemetal_32x32x4.png', 32, 32);

    }

    var sprites;

    function create() {

        //  创建一个组,在其中放置具有随机初速的许多个sprite,并对组内的sprite进行碰撞检测
        sprites = game.add.physicsGroup(Phaser.Physics.ARCADE);

        for (var i = 0; i < 90; i++) {
            var s = sprites.create(game.rnd.integerInRange(100, 700), game.rnd.integerInRange(32, 200), 'spinner');
            s.animations.add('spin', [0, 1, 2, 3]);
            s.play('spin', 20, true);
            s.body.velocity.set(game.rnd.integerInRange(-200, 200), game.rnd.integerInRange(-200, 200));
        }

        sprites.setAll('body.collideWorldBounds', true);
        sprites.setAll('body.bounce.x', 1);
        sprites.setAll('body.bounce.y', 1);

    }

    function update() {

        game.physics.arcade.collide(sprites);
    }
}

发布时间:2016/11/13 下午9:49:52  阅读次数:4697

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

沪 ICP 备 18037240 号-1

沪公网安备 31011002002865 号