2014-11-17 4 views
1

HaxeFlixel Framework를 사용하여 Haxe에서 게임을 개발 중입니다.HaxeFlixel 타일 맵 충돌

지도를로드하지 않고 런타임시 (지도를로드하지 않고도)지도의 새 영역을로드 할 수 있도록지도를 분할하기로 결정했습니다. 이를 위해 나는 모든 덩어리를 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() 방법 handeled된다

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

    FlxG.collide(hero, map); 
} 

내가 잘못하고있는 것입니까, 아니면 간단히 놓친 것입니까?

편집 :

HaxeFlixel 충돌 감지에 문제가 발생한 것 같습니다. FlxObjectxy 속성이 양수일 경우에만 충돌이 감지됩니다. 음수를 갖고 싶습니다. x/y 위치도 있습니다.

누구나이 문제에 대한 해결책이나 해결책을 알고 있습니까?

답변

2

세계 공간의 경계를 변경해보십시오. 구체적으로는 FlxG.worldBounds입니다.

+0

완벽하게 작동합니다. 감사합니다. :) – Max