haxeflixel Есть ли другой способ проверки столкновения без FlxG.collision?

Я делаю игру с игровым движком haxe и haxeflixel и реализую столкновение.

Я нашел способ проверки столкновения в шестигранном листе.

FlxG.overlap(ObjectOrGroup1, ObjectOrGroup2, myCallback);

private function myCallback(Object1:FlxObject, Object2:FlxObject):Void
{
}

Но мне не нравится этот стиль. это заставляет код работать.

Я хочу кодировать, как это.

FlxG.overlap(ObjectOrGroup1, ObjectOrgroup2, function(){
//do something
}

Я видел этот стиль в javascript, или что-то в этом роде, но я точно не знаю, что это такое. есть ли способ кодировать, как это?

и мне нужен этот код, как это:

if(FlxG.collide(Object1, Object2){
    //do something
}

Он должен возвращать значение (true или false) и обрабатывается оператором if.

1 ответ

Решение

Ваш фрагмент кода для анонимной функции почти правильный, но функция обратного вызова для FlxG.overlap() ожидает два аргумента (объекты, которые столкнулись). Попробуй это:

FlxG.overlap(ObjectOrGroup1, ObjectOrGroup2, function(object1:FlxObject, object2:FlxObject) {
    // do something with object1 and object2
});
Другие вопросы по тегам