Phaser 无法将矩形添加到组中
Phaser cannot add rectangles to groups
这是我的代码的一部分:
create_bounds: function(){
this.bounds = game.add.group();
this.left = new Phaser.Rectangle(0, 0, 20, game.world.height);
this.right = new Phaser.Rectangle(game.world.width, 0, 20, game.world.height);
this.bounds.add(this.left);
//this.bounds.addAt(this.right);
//var right =
//this.bounds.add(left);
},
我只想将一个简单的矩形添加到组中,然后在更新功能中与播放器进行交互。我无法这样做,因为当我加载页面时出现:
phaser.js:32473 未捕获类型错误:child.preUpdate 不是
在 Phaser.Group.preUpdate (phaser.js:
在 Phaser.World.Phaser.Group.preUpdate (phaser.js:
在 Phaser.Stage.preUpdate (phaser.js:30486)
在 Phaser.Game.updateLogic (phaser.js:
在 Phaser.Game.update (phaser.js:
在 Phaser.RequestAnimationFrame.updateRAF (phaser.js:
在 _onLoop (phaser.js:63015)
这只发生在我尝试将矩形添加到组时,而不是在创建它时。我该如何解决这个问题?
Phaser Groups 是 DisplayObjectContainers,这意味着它们只能管理继承自 DisplayObject 的对象,例如 Sprites。矩形是几何对象,它们基本上只是带有一些辅助方法的纯数学。它们没有显示属性,这就是您不能将它们添加到显示列表的原因。
要执行您需要的操作,您需要将 Rectangle 渲染为 Graphics 或 BitmapData 对象,或者使用不同的基于纹理的方法。
这是我的代码的一部分:
create_bounds: function(){
this.bounds = game.add.group();
this.left = new Phaser.Rectangle(0, 0, 20, game.world.height);
this.right = new Phaser.Rectangle(game.world.width, 0, 20, game.world.height);
this.bounds.add(this.left);
//this.bounds.addAt(this.right);
//var right =
//this.bounds.add(left);
},
我只想将一个简单的矩形添加到组中,然后在更新功能中与播放器进行交互。我无法这样做,因为当我加载页面时出现:
phaser.js:32473 未捕获类型错误:child.preUpdate 不是
在 Phaser.Group.preUpdate (phaser.js:
在 Phaser.World.Phaser.Group.preUpdate (phaser.js:
在 Phaser.Stage.preUpdate (phaser.js:30486)
在 Phaser.Game.updateLogic (phaser.js:
在 Phaser.Game.update (phaser.js:
在 Phaser.RequestAnimationFrame.updateRAF (phaser.js:
在 _onLoop (phaser.js:63015)
这只发生在我尝试将矩形添加到组时,而不是在创建它时。我该如何解决这个问题?
Phaser Groups 是 DisplayObjectContainers,这意味着它们只能管理继承自 DisplayObject 的对象,例如 Sprites。矩形是几何对象,它们基本上只是带有一些辅助方法的纯数学。它们没有显示属性,这就是您不能将它们添加到显示列表的原因。
要执行您需要的操作,您需要将 Rectangle 渲染为 Graphics 或 BitmapData 对象,或者使用不同的基于纹理的方法。