Skip to content

Instantly share code, notes, and snippets.

@Twinklebear
Created August 9, 2012 04:20
Show Gist options
  • Select an option

  • Save Twinklebear/3300908 to your computer and use it in GitHub Desktop.

Select an option

Save Twinklebear/3300908 to your computer and use it in GitHub Desktop.
Json::Value Map::Save(){
Json::Value map;
//Save the map width and height
map["mBox"]["w"] = mBox.w;
map["mBox"]["h"] = mBox.h;
map["image"] = mImage.Save();
//Save the tiles
for (int i = 0; i < mTiles.size(); ++i){
map["tiles"][i] = mTiles.at(i).Save();
}
return map;
}
void Map::Load(Json::Value val){
mBox.Set(0, 0, val["mBox"]["w"].asInt(), val["mBox"]["h"].asInt());
mImage.Load(val["image"]);
//Load the tiles
Json::Value tiles = val["tiles"];
for (int i = 0; i < tiles.size(); ++i){
Tile tempTile;
tempTile.Load(tiles[i]);
mTiles.push_back(tempTile);
}
}
{
"camera" : {
"mBox" : {
"h" : 320.0,
"w" : 320.0,
"x" : 0.0,
"y" : 0.0
},
"sceneBox" : {
"h" : 320.0,
"w" : 320.0,
"x" : 0.0,
"y" : 0.0
}
},
"map" : {
"image" : {
"clips" : [
{
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 0
},
{
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 32
},
{
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 64
},
{
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 0
},
{
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 32
},
{
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 64
},
{
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 0
},
{
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 32
},
{
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 64
},
{
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 0
},
{
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 32
},
{
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 64
}
],
"file" : "../res/images/tiles.png"
},
"mBox" : {
"h" : 320,
"w" : 320
},
"tiles" : [
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 0
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 0
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 32
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 32
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 64
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 64
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 96
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 96
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 128
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 128
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 160
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 160
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 192
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 192
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 224
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 224
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 256
},
"solid" : false,
"type" : 0
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 256
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 0,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 32,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 64,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 96,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 128,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 160,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 192,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 224,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 256,
"y" : 288
},
"solid" : true,
"type" : 6
},
{
"box" : {
"h" : 32,
"w" : 32,
"x" : 288,
"y" : 288
},
"solid" : true,
"type" : 6
}
]
},
"name" : "gGame",
"objects" : [
{
"image" : {
"file" : "../res/images/player.png"
},
"obj" : "player",
"physics" : {
"box" : {
"h" : 28.0,
"w" : 28.0,
"x" : 145.0,
"y" : 143.0
},
"hAccel" : 700,
"hSpeed" : 300
},
"tag" : "focus"
},
{
"image" : {
"file" : "../res/images/npc.png"
},
"obj" : "npc",
"physics" : {
"box" : {
"h" : 28.0,
"w" : 28.0,
"x" : 10.0,
"y" : 0.0
},
"hAccel" : 700,
"hSpeed" : 300
},
"tag" : "",
"type" : "0"
}
],
"ui" : [
{
"image" : {
"clips" : [
{
"h" : 100,
"w" : 200,
"x" : 0,
"y" : 0
},
{
"h" : 100,
"w" : 200,
"x" : 0,
"y" : 100
}
],
"file" : "../res/images/200x100button.png"
},
"param" : "mIntro",
"physics" : {
"box" : {
"h" : 100.0,
"w" : 200.0,
"x" : 20.0,
"y" : 500.0
},
"hAccel" : 0,
"hSpeed" : 0
},
"tag" : "",
"text" : {
"color" : {
"b" : 0,
"g" : 0,
"r" : 0
},
"font" : "../res/fonts/SourceSansPro-Regular.ttf",
"fontsize" : 25,
"message" : "Return"
},
"type" : "objectbutton"
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment