我正在与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语句处理。
答案 0 :(得分:3)
匿名函数的代码段几乎是正确的,但FlxG.overlap()
的回调函数需要两个参数(碰撞的对象)。试试这个:
FlxG.overlap(ObjectOrGroup1, ObjectOrGroup2, function(object1:FlxObject, object2:FlxObject) {
// do something with object1 and object2
});