相位器设置组精灵的锚属性
Phaser set group sprites' anchor property
我是Phaser的新手,有一个快速的问题。 我有一个名为cups的组对象,我正在向其添加6个精灵。 但是,如果每个精灵没有将其锚属性设置为 0.5,0.5,那么它们也不会放置在我想要的位置。 每个精灵锚点添加到组后都可以更改,但我觉得一定有更好的方法,例如
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() {
}
}
按照您的代码示例,这样更容易 =>
cups.setAll('anchor.x', 0.5);
cups.setAll('anchor.y', 0.5);
当您将项目添加到组中时,它们将成为子项,并且可以在 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);
相关文章:
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 序列化数据属性中对象的最可靠方法
- 分析高度属性时出现意外值{{specs.height}}.index.html
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- AngularJS-使用'true'属性
- 可以't使用JavaScript获取width属性
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何在选项卡上定义属性'的主窗口对象
- 锚点元素的href属性自动更改
- 相位器设置组精灵的锚属性
- 扩展 pixi.js在构造函数中对访问父的属性进行精灵化