有一个游戏世界。在游戏世界里面,有一个小圈子。如何在周边添加一圈精灵,使其不会超出圆圈。
答案 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);
};
}