generated from sigonasr2/CPlusPlusProjectTemplate
Merge branch 'master' of http://sig.projectdivar.com/sigonasr2/TMXParser
This commit is contained in:
commit
c98b50e4d1
Binary file not shown.
10
TMXParser.h
10
TMXParser.h
@ -1,8 +1,9 @@
|
||||
|
||||
#include "pixelGameEngine.h"
|
||||
#include <strstream>
|
||||
|
||||
using namespace olc;
|
||||
#include <sstream>
|
||||
#include <fstream>
|
||||
#include <map>
|
||||
#include <vector>
|
||||
#include <iostream>
|
||||
|
||||
struct XMLTag{
|
||||
std::string tag;
|
||||
@ -39,6 +40,7 @@ struct XMLTag{
|
||||
|
||||
struct LayerTag{
|
||||
XMLTag tag;
|
||||
public:
|
||||
std::vector<std::vector<int>> tiles;
|
||||
std::string str() {
|
||||
std::string displayStr=tag.tag+"\n"+tag.FormatTagData(tag.data);
|
||||
|
30
main.cpp
30
main.cpp
@ -1,28 +1,32 @@
|
||||
#define OLC_PGE_APPLICATION
|
||||
#include "pixelGameEngine.h"
|
||||
|
||||
#include <strstream>
|
||||
#include "TMXParser.h"
|
||||
|
||||
using namespace olc;
|
||||
|
||||
int main(){
|
||||
TMXParser parser("00_test_room.tmx");
|
||||
Map mData = parser.GetData();
|
||||
XMLTag mapTag = mData.MapData;
|
||||
double version = mapTag.GetDouble("version");
|
||||
int width = mapTag.GetInteger("width");
|
||||
int height = mapTag.GetInteger("height");
|
||||
bool isInfinite = mapTag.GetBool("infinite");
|
||||
std::cout<<version<<": "<<width<<","<<height<<","<<isInfinite;
|
||||
|
||||
LayerTag layerTag = mData.LayerData[0];
|
||||
int TOTAL_LAYER_COUNT = mapTag.GetInteger("nextlayerid");
|
||||
int X_TILES_COUNT = mapTag.GetInteger("width");
|
||||
int Y_TILES_COUNT = mapTag.GetInteger("height");
|
||||
|
||||
XMLTag layer0Tag = layerTag.tag;
|
||||
int layerID=layer0Tag.GetInteger("id");
|
||||
std::vector<std::vector<std::vector<int>>> tileData;
|
||||
for (int layer=0;layer<TOTAL_LAYER_COUNT-1;layer++) {
|
||||
std::vector<std::vector<int>> mapTileGrid;
|
||||
for (int y=0;y<Y_TILES_COUNT;y++) {
|
||||
std::vector<int> row;
|
||||
for (int x=0;x<X_TILES_COUNT;x++) {
|
||||
row.push_back(mData.LayerData[layer].tiles[y][x]);
|
||||
}
|
||||
mapTileGrid.push_back(row);
|
||||
}
|
||||
tileData.push_back(mapTileGrid);
|
||||
}
|
||||
|
||||
std::cout<<"\n"<<layerID;
|
||||
|
||||
std::cout<<"\n"<<layerTag.tiles[8][6];
|
||||
printf("Layer 5, Row 117, Col 45 (X:44,Y:116) - %d",tileData[4][116][44]);
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user