haxe - 有没有另一种方法可以在没有 FlxG.collide 的情况下检查碰撞?

标签 haxe haxeflixel

我正在使用 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
}

它必须返回值(truefalse)并由 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/

相关文章:

Haxe - 打印命令行参数

sublimetext - 如何配置haxe构建文件(HXML)从src目录构建?

compiler-optimization - 将 Haxe 编译为完全剥离的 cpp 目标?

Haxe/hscript - 防止将某些方法暴露给脚本

haxe - Haxe 和其他变量类型相关问题中的箭头运算符用法

haxe - 如何移动 HaxeFlixel FlxNapeSprite?

enums - Haxe 中的构造函数和枚举

haxe - 无法使用 FlxG.overlap 传入 FlxTypedGroup 类参数

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

compiler-errors - MUnit 和 MOver "Invalid package...should be <empty>"错误