HaxeFlixel tilemap碰撞

最大限度

我正在使用HaxeFlixel框架在Haxe中开发游戏。

我决定将地图拆分为多个块,以便我可以在运行时加载地图的新区域(不加载屏幕)。为此,我将每个块都放在的实例中FlxTilemap

现在我注意到,当我尝试移动FlxTilemap(通过更改其xy属性)时,碰撞检测(with FlxG.collide(hero, map))无法正常工作。

为了测试碰撞检测为什么不起作用,我只是FlxTilemap在场景中添加了一个,然后与英雄碰撞:

map = new FlxTilemap();
    var mapData = "";
    for (y in 0...8) {
        for (x in 0...8) {
            mapData += "0,";
        }
        mapData += "\n";
    }

    map.loadMap(mapData, AssetPaths.tuxemon_sprites__png, 16, 16);

    for (x in 0...8) {
        map.setTile(x, 6, SpriteSheet.TILES.FENCE.LOOSE_1_RIGHT);
    }

    for (y in 0...8) {
        map.setTile(6, y, SpriteSheet.TILES.FENCE.LOOSE_1_RIGHT);
    }

    map.setPosition(
        map.x - map.width / 2,
        map.y - map.height / 2
    );

    add(map);

冲突检测update()以状态方法进行:

override public function update():Void
{
    super.update();

    FlxG.collide(hero, map);
}   

我是用错误的方式做的还是只是错过了什么?

编辑:

HaxeFlixel碰撞检测似乎存在问题。仅当的xy属性为FlxObject时,才会检测到冲突我也想拥有负数x/y职位。

有谁知道解决此问题的方法或解决方法?

客串

尝试更改您的世界空间的边界。具体来说,FlxG.worldBounds

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章