所以我尝试使用HaxeFlixel创建一个平台游戏,但我遇到了一个问题:在FlxSprite对象的x
值超过648后,FlxG.collide
似乎根本不起作用。 Here是问题的全貌。正如你所看到的,当玩家的x
是< 648,但当它变大时,FlxG.collision
停止工作。
该级别由扩展Wall
的类FlxSprite
的对象构成,唯一的区别是它的构造函数加载了墙图形并将其immovable
属性设置为{{1} }。调用true
时,FlxG.collide
作为第一个参数,player
(包含墙)作为第二个参数。我不确定这是否重要,但在FlxGroup
之前调用了FlxState
super.update
。
答案 0 :(得分:4)
好的,我看了一下HaxeFlixel源代码(特别是FlxG.overlap
私有函数(第363行)),我发现它只检查worldBounds
{{1}内的对象}。在我知道之后,我所要做的就是设置那个rect的边界,这可以用FlxRect
来完成。