如何在phaser框架中围绕圆周边添加精灵

时间:2018-03-15 17:48:57

标签: javascript phaser-framework

有一个游戏世界。在游戏世界里面,有一个小圈子。如何在周边添加一圈精灵,使其不会超出圆圈。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你的问题就如何计算圆的坐标更为一般。

通常,您可以使用正弦余弦计算圆圈位置,在JavaScript和Phaser中,您可以这样做:

addSpritesInCircle: function(xpivot, ypivot, radius, amount) {

    // add sprites in a circle
    for (var i = 0; i < amount; i++) {
        // divide sprites evenly around the circle
        var angle = 360.0 * (i / amount);

        // calculate circle coordinates
        var xpos = xpivot + (Math.cos(2 * Math.PI * angle / 360.0) * radius);
        var ypos = ypivot + (Math.sin(2 * Math.PI * angle / 360.0) * radius);

        // add phaser sprite
        var sprite = this.game.add.sprite(xpos, ypos, 'mysprites', 'alienfoe1');

        // optionally also add to a group for handling/updates later
        this.myAliensGroup.add(sprite);
    };
}