コード例 #1
0
ファイル: Main.cs プロジェクト: Nuckal777/mapKnight
        private bool[,] extractHitboxTiles(CCTileMapLayer physicsLayer, CCTileMap physicsMap)
        {
            bool[,] Tile = new bool[(int)physicsLayer.LayerSize.Size.Width, (int)physicsLayer.LayerSize.Size.Height];

            //erstellt ein bool Abbild der Map
            Dictionary<string,string> tileProperties;
            for (int x = 1; x < physicsLayer.LayerSize.Size.Width - 1; x++) {
                for (int y = 1; y < physicsLayer.LayerSize.Size.Height - 1; y++) {
                    //wenn das tile allein steht, dann ist es ein Element der Hitbox
                    tileProperties = physicsMap.TilePropertiesForGID (physicsLayer.TileGIDAndFlags (new CCTileMapCoordinates (x, y)).Gid);
                    if (tileProperties != null) {
                        tileProperties = physicsMap.TilePropertiesForGID (physicsLayer.TileGIDAndFlags (new CCTileMapCoordinates (x - 1, y)).Gid);
                        if (tileProperties == null) {
                            Tile [x, y] = true;
                        }
                        tileProperties = null;
                        tileProperties = physicsMap.TilePropertiesForGID (physicsLayer.TileGIDAndFlags (new CCTileMapCoordinates (x + 1, y)).Gid);
                        if (tileProperties == null) {
                            Tile [x, y] = true;
                        }
                        tileProperties = null;
                        tileProperties = physicsMap.TilePropertiesForGID (physicsLayer.TileGIDAndFlags (new CCTileMapCoordinates (x, y - 1)).Gid);
                        if (tileProperties == null) {
                            Tile [x, y] = true;
                        }
                        tileProperties = null;
                        tileProperties = physicsMap.TilePropertiesForGID (physicsLayer.TileGIDAndFlags (new CCTileMapCoordinates (x, y + 1)).Gid);
                        if (tileProperties == null) {
                            Tile [x, y] = true;
                        }
                        tileProperties = null;
                    }
                }
            }

            return Tile;
        }