修改游戏底层矩阵相关
This commit is contained in:
@@ -221,7 +221,7 @@ void GameMap::InitTile()
|
||||
{
|
||||
std::string path = tileArr[i];
|
||||
RefPtr<Tile> tile = new Tile(path);
|
||||
tile->SetPos(VecFPos{i * 224, -200 - std::get<int>(_MapInfo["background_pos"])});
|
||||
tile->SetPos(Vec2{i * 224, -200 - std::get<int>(_MapInfo["background_pos"])});
|
||||
_LayerMap["bottom"]->AddComponent(tile);
|
||||
}
|
||||
_MapHeight = 560;
|
||||
@@ -240,7 +240,7 @@ void GameMap::InitTile()
|
||||
RefPtr<Tile> tile = new Tile(path);
|
||||
int xbuf = i % NormalTileCount * 224;
|
||||
int ybuf = -200 - std::get<int>(_MapInfo["background_pos"]) + NormalTileHeight + 120 * (i / NormalTileCount);
|
||||
tile->SetPos(VecFPos{xbuf, ybuf});
|
||||
tile->SetPos(Vec2{xbuf, ybuf});
|
||||
_LayerMap["bottom"]->AddComponent(tile);
|
||||
}
|
||||
}
|
||||
@@ -269,7 +269,7 @@ void GameMap::InitBackgroundAnimation()
|
||||
}
|
||||
for (int i = 0; i < (int)AniList.size(); i++)
|
||||
{
|
||||
AniList[i]->SetPos(VecFPos{i * width, -120});
|
||||
AniList[i]->SetPos(Vec2{i * width, -120});
|
||||
AniList[i]->SetRenderZOrder(-1000000);
|
||||
std::string layer = ani.layer;
|
||||
layer = layer.substr(1, layer.length() - 2);
|
||||
@@ -294,7 +294,7 @@ void GameMap::InitMapAnimation()
|
||||
{
|
||||
std::string path = ani.filename;
|
||||
RefPtr<Animation> AniObj = new Animation(path);
|
||||
AniObj->SetPos(VecFPos{ani.XPos, ani.YPos - ani.ZPos});
|
||||
AniObj->SetPos(Vec2{ani.XPos, ani.YPos - ani.ZPos});
|
||||
AniObj->SetRenderZOrder(ani.YPos);
|
||||
std::string layer = ani.layer;
|
||||
layer = layer.substr(1, layer.length() - 2);
|
||||
@@ -318,7 +318,7 @@ void GameMap::InitVirtualMovableArea()
|
||||
float w = Info[i + 2];
|
||||
float h = Info[i + 3];
|
||||
if (_DebugMode)
|
||||
_LayerMap["max"]->AddDebugFeasibleAreaInfo(VecFPos(x, y), VecSize(w, h));
|
||||
_LayerMap["max"]->AddDebugFeasibleAreaInfo(Vec2(x, y), VecSize(w, h));
|
||||
_MovableArea.push_back(SDL_FRect{x, y, w, h});
|
||||
}
|
||||
}
|
||||
@@ -364,8 +364,8 @@ void GameMap::Update(float deltaTime)
|
||||
int targetX = Cam->_currentPosition.x;
|
||||
int targetY = Cam->_currentPosition.y;
|
||||
// 屏幕中心
|
||||
int width_Separate = Game::GetInstance().Screen_W / 2;
|
||||
int height_Separate = Game::GetInstance().Screen_H / 2;
|
||||
int width_Separate = 1067 / 2;
|
||||
int height_Separate = 600 / 2;
|
||||
|
||||
// 获取摄像机可行区域限制
|
||||
auto limitIt = _MapInfo.find("limit_map_camera_move");
|
||||
@@ -400,7 +400,7 @@ void GameMap::Update(float deltaTime)
|
||||
posX *= BackgroundMoveSpeed;
|
||||
posX /= 100;
|
||||
}
|
||||
Layer.second->SetPos(VecFPos(posX, posY));
|
||||
Layer.second->SetPos(Vec2(posX, posY));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ void GameMapLayer::Render()
|
||||
}
|
||||
}
|
||||
|
||||
void GameMapLayer::AddDebugFeasibleAreaInfo(VecFPos pos, VecSize size)
|
||||
void GameMapLayer::AddDebugFeasibleAreaInfo(Vec2 pos, VecSize size)
|
||||
{
|
||||
SDL_Rect info;
|
||||
info.x = pos.x;
|
||||
|
||||
@@ -17,7 +17,7 @@ public:
|
||||
// 重载Render以实现绘制可行区域
|
||||
void Render() override;
|
||||
// 添加调试可行区域信息
|
||||
void AddDebugFeasibleAreaInfo(VecFPos pos, VecSize size);
|
||||
void AddDebugFeasibleAreaInfo(Vec2 pos, VecSize size);
|
||||
|
||||
public:
|
||||
void AddObject(RefPtr<Actor> obj); // 添加对象
|
||||
|
||||
@@ -21,7 +21,7 @@ Tile::~Tile()
|
||||
{
|
||||
}
|
||||
|
||||
void Tile::SetPos(VecFPos pos)
|
||||
void Tile::SetPos(Vec2 pos)
|
||||
{
|
||||
pos.y += std::get<int>(m_data["pos"]);
|
||||
Sprite::SetPos(pos);
|
||||
|
||||
@@ -16,7 +16,7 @@ public:
|
||||
Tile(std::string Path);
|
||||
~Tile();
|
||||
|
||||
void SetPos(VecFPos pos) override;
|
||||
void SetPos(Vec2 pos) override;
|
||||
|
||||
void InitInfo(std::string Path);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user