Mario: saving map as binary file v1.0
This commit is contained in:
+35
-1
@@ -17,6 +17,7 @@
|
||||
|
||||
std::shared_ptr< SDLPP::Renderer > renderer = nullptr;
|
||||
bool quit = false;
|
||||
std::vector<std::array<std::pair<uint8_t, uint16_t>,16>> objects = {};
|
||||
|
||||
void handleKeyDown( SDL_Keycode key, SDLPP::Scene &scene ) {
|
||||
switch ( key ) {
|
||||
@@ -113,7 +114,39 @@ int main() {
|
||||
bg->setId( 1 );
|
||||
scene->addObject( bg );
|
||||
|
||||
loadMap( scene, nullptr, "testmap.txt", renderer );
|
||||
loadMap( scene, "test_binary.bin", renderer, objects );
|
||||
|
||||
// grid
|
||||
for ( int i = 1; i < 20; i++ ) {
|
||||
auto line_vertical = std::make_shared< SDLPP::LineRenderer >(
|
||||
i * BLOCK_SIZE, 1 - 16 * BLOCK_SIZE, i * BLOCK_SIZE, 1.0, renderer, "#282828" );
|
||||
line_vertical->setStatic();
|
||||
line_vertical->setAlignment( SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER );
|
||||
scene->addObject(line_vertical);
|
||||
if(i > 2) {
|
||||
auto line_horizontal = std::make_shared< SDLPP::LineRenderer >(
|
||||
BLOCK_SIZE, ( i + 1 ) * BLOCK_SIZE, 19 * BLOCK_SIZE,
|
||||
( i + 1 ) * BLOCK_SIZE, renderer, "#282828" );
|
||||
line_horizontal->setStatic();
|
||||
line_horizontal->setAlignment( SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER );
|
||||
scene->addObject(line_horizontal);
|
||||
}
|
||||
}
|
||||
// white rectangles
|
||||
auto rectangle1 = std::make_shared< SDLPP::RectangleRender >(
|
||||
0, 4 * BLOCK_SIZE, BLOCK_SIZE, 16 * BLOCK_SIZE, renderer, "#FFFFFF88", true);
|
||||
rectangle1->setAlignment(SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER);
|
||||
rectangle1->setId(1);
|
||||
rectangle1->addCollision(SDLPP::RectColider(0, 0, 1, 1));
|
||||
scene->addObject(rectangle1);
|
||||
// white rectangles
|
||||
auto rectangle2 = std::make_shared< SDLPP::RectangleRender >(
|
||||
19*BLOCK_SIZE, 4 * BLOCK_SIZE, 20*BLOCK_SIZE, 16 * BLOCK_SIZE, renderer, "#FFFFFF88", true);
|
||||
rectangle2->setAlignment(SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER);
|
||||
rectangle2->setId(1);
|
||||
rectangle2->addCollision(SDLPP::RectColider(0, 0, 1, 1));
|
||||
scene->addObject(rectangle2);
|
||||
|
||||
|
||||
FPSmanager gFPS;
|
||||
SDL_initFramerate( &gFPS );
|
||||
@@ -135,6 +168,7 @@ int main() {
|
||||
base = SDL_GetTicks();
|
||||
}
|
||||
}
|
||||
// saveMap("test_binary.bin", objects);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user