将群组添加到关注者 - Phaser 3
Add a group to a follower - Phaser 3
我是 Phaser 3 的菜鸟,正在尝试在随从中添加一个组(2 个精灵)。当我在 'add.follower'.
使用精灵时,代码有效
function create () {
var bola = this.add.group();
bola.create(0, 0, 'bola15');
bola.create(0, 0, 'bolasombra');
var line1 = new Phaser.Curves.Line([ 100, 100, 500, 100 ]);
var line2 = new Phaser.Curves.Line([ 500, 100, 500, 500 ]);
path1 = this.add.path();
path1.add(line1);
path1.add(line2);
var mover = this.add.follower(path1, 0, 0, bola);
mover.startFollow({
positionOnPath: true,
duration: 3000,
yoyo: false,
repeat: 0,
rotateToPath: false,
verticalAdjust: true
});
}
这就是我得到的:
对此有任何解决方案,或其他类似的方法吗?
编辑:
已尝试 'container' 并得到相同的结果:
bola = this.add.container(0,0);
bola1 = this.add.sprite(0,0,'bola15');
bola2 = this.add.sprite(0,0,'bolasombra');
bola.add(bola1);
bola.add(bola2);
在当前状态下,PathFollower
设置为仅接收单个 GameObject。不幸的是,这意味着您必须将您的组项目一个一个地添加到关注者。您可以通过您的组项目设置一个 运行 的循环,并像这样创建路径跟随者:
for (var i = 0; i < bola.children.entries.length; i++) {
var mover = this.add.follower(path1, 0, 0, bola.children.entries[i].texture.key);
mover.startFollow({
positionOnPath: true,
duration: 3000,
yoyo: false,
repeat: 0,
rotateToPath: false,
verticalAdjust: true
});
}
查看 Phaser 3 实验室的 this example 以查看另一个示例,说明如果组结构对您的游戏不重要,您可以如何使用具有相同路径的多个项目。
我是 Phaser 3 的菜鸟,正在尝试在随从中添加一个组(2 个精灵)。当我在 'add.follower'.
使用精灵时,代码有效function create () {
var bola = this.add.group();
bola.create(0, 0, 'bola15');
bola.create(0, 0, 'bolasombra');
var line1 = new Phaser.Curves.Line([ 100, 100, 500, 100 ]);
var line2 = new Phaser.Curves.Line([ 500, 100, 500, 500 ]);
path1 = this.add.path();
path1.add(line1);
path1.add(line2);
var mover = this.add.follower(path1, 0, 0, bola);
mover.startFollow({
positionOnPath: true,
duration: 3000,
yoyo: false,
repeat: 0,
rotateToPath: false,
verticalAdjust: true
});
}
这就是我得到的:
对此有任何解决方案,或其他类似的方法吗?
编辑:
已尝试 'container' 并得到相同的结果:
bola = this.add.container(0,0);
bola1 = this.add.sprite(0,0,'bola15');
bola2 = this.add.sprite(0,0,'bolasombra');
bola.add(bola1);
bola.add(bola2);
在当前状态下,PathFollower
设置为仅接收单个 GameObject。不幸的是,这意味着您必须将您的组项目一个一个地添加到关注者。您可以通过您的组项目设置一个 运行 的循环,并像这样创建路径跟随者:
for (var i = 0; i < bola.children.entries.length; i++) {
var mover = this.add.follower(path1, 0, 0, bola.children.entries[i].texture.key);
mover.startFollow({
positionOnPath: true,
duration: 3000,
yoyo: false,
repeat: 0,
rotateToPath: false,
verticalAdjust: true
});
}
查看 Phaser 3 实验室的 this example 以查看另一个示例,说明如果组结构对您的游戏不重要,您可以如何使用具有相同路径的多个项目。