我正在使用 Haxe 和 HaxeFlixel 游戏引擎制作游戏,并且正在实现碰撞。
我找到了一种检查 HaxeFlixel cheat sheet 中碰撞的方法:
FlxG.overlap(ObjectOrGroup1, ObjectOrGroup2, myCallback);
private function myCallback(Object1:FlxObject, Object2:FlxObject):Void
{
}
但我不喜欢这种风格,因为回调与函数调用是分开的。我更喜欢这个:
FlxG.overlap(ObjectOrGroup1, ObjectOrgroup2, function() {
//do something
});
我在 JavaScript 中看到了这种样式,但我不知道它到底是什么。这在 Haxe 中可能吗?
我需要这样的代码:
if (FlxG.collide(Object1, Object2)) {
//do something
}
它必须返回值(true
或 false
)并由 if 语句处理。
最佳答案
您的匿名函数代码片段几乎是正确的,但 FlxG.overlap()
的回调函数需要两个参数(碰撞的对象)。试试这个:
FlxG.overlap(ObjectOrGroup1, ObjectOrGroup2, function(object1:FlxObject, object2:FlxObject) {
// do something with object1 and object2
});
关于haxe - 有没有另一种方法可以在没有 FlxG.collide 的情况下检查碰撞?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48864802/