Mario: Fireball works
This commit is contained in:
+24
-1
@@ -72,6 +72,9 @@ void handleKeyDown(SDL_Keycode key, SDLPP::Scene &scene) {
|
||||
if (fps) {
|
||||
fps->setHidden(!fps->getHidden());
|
||||
}
|
||||
case SDLK_RETURN:
|
||||
mario->fire();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -261,6 +264,24 @@ void mainGameAdditional(std::shared_ptr<SDLPP::Scene> & /*UNUSED*/) {
|
||||
}
|
||||
}
|
||||
|
||||
void addObjectToScene(std::shared_ptr<MarioBlock> &object, bool moving) {
|
||||
game_scenes.back().scene->addObject(object);
|
||||
object->setAlignment(SDLPP::OBJ_CENTER, SDLPP::OBJ_CENTER);
|
||||
if(moving) {
|
||||
moving_objects.push_back(object);
|
||||
}
|
||||
}
|
||||
|
||||
void addObjectToSceneTop(std::shared_ptr<MarioBlock> &object, bool moving) {
|
||||
addObjectToScene(object, moving);
|
||||
game_scenes.back().scene->moveZTop(object);
|
||||
}
|
||||
|
||||
void addObjectToSceneBack(std::shared_ptr<MarioBlock> &object, bool moving) {
|
||||
addObjectToScene(object, moving);
|
||||
game_scenes.back().scene->moveZJustAboveBackground(object);
|
||||
}
|
||||
|
||||
SceneStruct mainGameScene(const std::string &level_path) {
|
||||
auto scene = std::make_shared<SDLPP::Scene>(renderer);
|
||||
g_playground = scene;
|
||||
@@ -272,7 +293,7 @@ SceneStruct mainGameScene(const std::string &level_path) {
|
||||
scene->addObject(bg);
|
||||
|
||||
mario.reset();
|
||||
mario = std::make_shared<Mario>(renderer);
|
||||
mario = std::make_shared<Mario>(renderer, addObjectToSceneTop);
|
||||
scene->addObject(mario);
|
||||
|
||||
auto defeat =
|
||||
@@ -390,6 +411,8 @@ int main() {
|
||||
renderer, "sprites/terrain.png", MARIO_OVERWORLD_COLORKEY);
|
||||
g_enemies_texture = std::make_shared<SDLPP::Texture>(
|
||||
renderer, "sprites/enemies.png", MARIO_OVERWORLD_COLORKEY);
|
||||
g_items_texture = std::make_shared<SDLPP::Texture>(
|
||||
renderer, "sprites/items.png", MARIO_OVERWORLD_COLORKEY);
|
||||
|
||||
g_mario_texture = std::make_shared<SDLPP::Texture>(
|
||||
renderer, "sprites/mario.png", MARIO_OVERWORLD_COLORKEY);
|
||||
|
||||
Reference in New Issue
Block a user