haxe - 当 x>648 时 FlxG.collide 不起作用

标签 haxe haxeflixel

因此,我尝试使用 HaxeFlixel 创建一款平台游戏,但遇到了一个问题:在 FlxSprite 对象的 x 值传递到 648 后,FlxG.collide 却没有传递似乎根本不起作用。 Here是问题的 gif。正如您所看到的,当玩家的 x 小于 648 时,它可以正常工作,但当它变得更大时,FlxG.collision 就会停止工作。

关卡由Wall类的对象组成,该类扩展了FlxSprite,唯一的区别是它的构造函数加载墙壁图形并设置其不可移动 属性设置为 trueFlxG.collide 正在被调用,player 作为第一个参数,FlxGroup(包含墙壁)作为第二个参数。我不确定这是否重要,但 FlxStatesuper.update 是在 FlxG.collide 之前调用的。

最佳答案

好吧,我查看了 HaxeFlixel 源代码(特别是 FlxG.overlap 私有(private)函数(第 363 行)),我发现它只检查 worldBounds 内的对象。 FlxRect 。在我知道这一点之后,我所要做的就是设置该矩形的边界,这可以通过 FlxG.worldBounds.set(?X:Float = 0, ?Y:Float = 0, ?Width:Float = 0, ?Height:Float = 0) 来完成。 .

关于haxe - 当 x>648 时 FlxG.collide 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43792751/

相关文章:

Xml.nodeValue 导致 "Bad node type"错误

generics - 泛型函数 Haxe 错误

c++ - 为什么这个 Haxe try-catch block 在对 C++ 目标使用 Release模式时仍然崩溃

c++ - Windows cpp 目标在较高分辨率下变慢

rotation - 在 HaxeFlixel 中旋转 Sprite

android - 我必须做什么克隆 github 存储库,回滚到旧版本并在 ubuntu 16.04 上更新子模块?

sqlite - Haxe-Android目标中的SQLite崩溃

haxelib selfupdate 不起作用

package - 导入类时找不到类异常 : Haxe (With OpenFL + Flixel libraries)

actionscript-3 - 同步AS3中的动态音频和代码