完成关卡加载器-图片层
This commit is contained in:
@@ -3,6 +3,9 @@
|
||||
#include "../../engine/object/game_object.h"
|
||||
#include "../../engine/component/transform_component.h"
|
||||
#include "../../engine/component/sprite_component.h"
|
||||
#include "../../engine/scene/level_loader.h"
|
||||
#include "../../engine/input/input_manager.h"
|
||||
#include "../../engine/render/camera.h"
|
||||
#include <spdlog/spdlog.h>
|
||||
#include <SDL3/SDL_rect.h>
|
||||
|
||||
@@ -15,6 +18,10 @@ GameScene::GameScene(std::string name, engine::core::Context& context, engine::s
|
||||
}
|
||||
|
||||
void GameScene::init() {
|
||||
// 加载关卡(level_loader通常加载完成后即可销毁,因此不存为成员变量)
|
||||
engine::scene::LevelLoader level_loader;
|
||||
level_loader.loadLevel("assets/maps/level1.tmj", *this);
|
||||
|
||||
// 创建 test_object
|
||||
createTestObject();
|
||||
|
||||
@@ -32,13 +39,14 @@ void GameScene::render() {
|
||||
|
||||
void GameScene::handleInput() {
|
||||
Scene::handleInput();
|
||||
testCamera();
|
||||
}
|
||||
|
||||
void GameScene::clean() {
|
||||
Scene::clean();
|
||||
}
|
||||
|
||||
// --- 私有方法 ---
|
||||
// --- 测试方法 ---
|
||||
|
||||
void GameScene::createTestObject() {
|
||||
spdlog::trace("在 GameScene 中创建 test_object...");
|
||||
@@ -53,4 +61,13 @@ void GameScene::createTestObject() {
|
||||
spdlog::trace("test_object 创建并添加到 GameScene 中。");
|
||||
}
|
||||
|
||||
void GameScene::testCamera() {
|
||||
auto& camera = context_.getCamera();
|
||||
auto& input_manager = context_.getInputManager();
|
||||
if (input_manager.isActionDown("move_up")) camera.move(glm::vec2(0, -1));
|
||||
if (input_manager.isActionDown("move_down")) camera.move(glm::vec2(0, 1));
|
||||
if (input_manager.isActionDown("move_left")) camera.move(glm::vec2(-1, 0));
|
||||
if (input_manager.isActionDown("move_right")) camera.move(glm::vec2(1, 0));
|
||||
}
|
||||
|
||||
} // namespace game::scene
|
||||
Reference in New Issue
Block a user