这是我的代码的一部分:
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);
},
Run Code Online (Sandbox Code Playgroud)
我想做的就是向组中添加一个简单的矩形,然后该矩形将在更新函数中与玩家交互。我无法这样做,因为当我加载页面时会出现以下内容:
Phaser.js:32473 Uncaught TypeError: 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。矩形是几何对象,它们基本上只是带有一些辅助方法的纯数学。它们没有显示属性,这就是您无法将它们添加到显示列表的原因。
要执行您需要的操作,您需要将矩形渲染为 Graphics 或 BitmapData 对象,或者使用不同的基于纹理的方法。
| 归档时间: |
|
| 查看次数: |
982 次 |
| 最近记录: |