移相器设置组精灵的锚点属性

约翰·威克

我是Phaser的新手,有一个简短的问题。我有一个名为cups的组对象,并向其中添加了6个精灵。但是,如果每个子画面都没有将其锚属性设置为0.5,0.5,则它们也不会放置在我想要的位置。将每个Sprite锚添加到组后,我可以对其进行更改,但是我觉得必须有更好的方法,例如

var myGroup = game.add.group();
..add sprites here
myGroup.anchor.setTo(0.5,0.5);

这是我当前的代码。

window.onload = function() {

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

    function preload() {
        game.load.image('table', 'assets/img/table.png');
        game.load.image('cup', 'assets/img/cup.png');
        game.load.image('ball', 'assets/img/ball.png');
    }

    function create() {
        var table = game.add.sprite(game.world.centerX, game.world.centerY, 'table');
        table.anchor.setTo(0.5,0.5);

        var cupW = game.cache.getImage('cup').width;
        var cupH = game.cache.getImage('cup').height;
        var cups = game.add.group();

        var cup = cups.create(game.world.centerX, cupH / 2, 'cup');
        cup.anchor.setTo(0.5,0.5);
        cup = cups.create(game.world.centerX - cupW, cupH / 2, 'cup');
        cup.anchor.setTo(0.5,0.5);
        cup = cups.create(game.world.centerX + cupW, cupH / 2, 'cup');
        cup.anchor.setTo(0.5,0.5);
        cup = cups.create(game.world.centerX - cupW / 2, cupH + (cupH / 2), 'cup');
        cup.anchor.setTo(0.5,0.5);
        cup = cups.create(game.world.centerX + cupW / 2 , cupH + (cupH / 2), 'cup');
        cup.anchor.setTo(0.5,0.5);
        cup = cups.create(game.world.centerX, (cupH * 2) + (cupH / 2), 'cup');
        cup.anchor.setTo(0.5,0.5);

        var ball = game.add.sprite(game.world.centerX, game.world.centerY,'ball');
        ball.anchor.setTo(0.5,0.5);

    }

    function update() {

    }

}
铲掉

当您将项目添加到组中时,它们将成为子项,并且您可以在group.children中找到它们的引用,因此您可以执行以下操作:

// Create your group and add all your sprites here first

var cups = game.add.group();
cups.create(x, y, 'cup1');
cups.create(x, y, 'cup2');
cups.create(x, y, 'cup3');
cups.create(x, y, 'cup4'); // and so on

// Then select the children of the group, and loop over them.

cups.children.forEach(function(cup){
    // Here you can apply the same properties to every cup.
    cup.anchor.setTo(0.5,0.5);
});

如果要查看所有子项的列表,请打开JavaScript控制台并运行以下行:

console.log(cups.children);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

SpriteToAngle的精灵锚点

来自分类Dev

移相器更新精灵纹理

来自分类Dev

移相器精灵图定位

来自分类Dev

精灵和附加的物理身体锚点不同

来自分类Dev

使用移相器更改精灵的色调

来自分类Dev

QTextedit设置锚点并滚动到它

来自分类Dev

Flexdashboard:设置###标题的锚点(级别3)

来自分类Dev

goocanvasmm文本项设置锚点

来自分类Dev

HTML 锚点单击事件设置变量

来自分类Dev

plotly.js轴的“锚点”属性

来自分类Dev

使用javascript搜索锚点标题属性

来自分类Dev

用div更改锚点属性

来自分类Dev

添加和删除锚点属性

来自分类Dev

在锚元素上设置(单击)属性

来自分类Dev

将图像锚点可点击区域设置为圆形

来自分类Dev

Angular Material无法将md卡设置为锚点

来自分类Dev

Android将锚点设置为底表

来自分类Dev

以编程方式设置锚点时未显示焦点轮廓

来自分类Dev

在R Shiny中设置相对链接/锚点

来自分类Dev

以编程方式设置锚点时未显示焦点轮廓

来自分类Dev

将图像锚点可点击区域设置为圆形

来自分类Dev

在 jQuery 中单击锚点时设置 asp:HiddenField 值

来自分类Dev

使用javascript更改锚点的download属性的值

来自分类Dev

从class属性调用fancybox时获取锚点的ID

来自分类Dev

获取特定类别的所有锚点的特定属性

来自分类Dev

jQuery UI破坏了锚点下载属性

来自分类Dev

可以将其指定为文本锚点属性的值吗?

来自分类Dev

vanilla js,获取具有特定属性的锚点

来自分类Dev

不能将目标属性添加到锚点