#pragma once #include "EngineFrame/Scene/Scene.h" #include "Asset/AssetManager.h" #include "EngineFrame/Component/Animation.h" #include "Actor/Map/GameMap.h" #include "Actor/Map/GameMapCamera.h" class Scene_SelectCharacter_UI : public Scene { private: /* data */ GameMap *map; RefPtr camera = nullptr; public: Scene_SelectCharacter_UI(/* args */) { }; ~Scene_SelectCharacter_UI() { }; public: void Enter() override { map = new GameMap; map->LoadMap("map/cataclysm/town/elvengard/new_elvengard.map"); map->Enter(this); camera = new GameMapCamera; AddChild(camera); return; RefPtr actor = new Actor; actor->SetPos(VecFPos{450, 350}); // actor->SetAnchor(VecFPos{0.5, 0.5}); actor->SetScale(VecFPos{-1.f, 1.f}); AddChild(actor); RefPtr actor2 = new Actor; actor->AddChild(actor2); RefPtr ani4 = new Animation("map/cataclysm/town/hendonmyre/animation/object/gateall_02.ani"); // ani4->SetScale(VecFPos{-1.0, 1.0}); actor2->AddChild(ani4); // RefPtr ani3 = new Animation("map/cataclysm/town/elvengard/animation/obj/serialight01_right.ani"); // ani3->SetPos(VecPos{300, 300}); // actor->AddChild(ani3); // RefPtr ani4 = new Animation("map/cataclysm/town/hendonmyre/animation/object/gateall_02.ani"); // ani4->SetPos(VecPos{300, 500}); // actor->AddChild(ani4); // for (size_t i = 0; i < 400; i++) // { // RefPtr actor = new Actor; // AddChild(actor); // // RefPtr ani3 = new Animation("common/commoneffect/animation/priestslowheal1.ani"); // // actor->AddComponent(ani3); // // ani3->SetRenderZOrder(1000); // // RefPtr ani = new Animation("common/anton/main.ani"); // // actor->AddComponent(ani); // // ani->SetRenderZOrder(500); // RefPtr sprite = new Sprite("sprite/item/avatar/swordman/0sm_acap.img", 0); // actor->AddComponent(sprite); // // RefPtr ani2 = new Animation("common/anton/face/0/0.ani"); // // actor->AddComponent(ani2); // // ani2->SetRenderZOrder(1000); // } // SDL_Log("进入了选择角色场景!"); }; void HandleEvents(SDL_Event *e) override { Scene::HandleEvents(e); map->HandleEvents(e); }; void Update(float deltaTime) override { Scene::Update(deltaTime); map->Update(deltaTime); }; // void Render() override; // void Exit() override; };