今天意外順利,把預設要做的東西都有做出來 ^_^
小改了一個地方,然後就完成了~每個方塊可以依照2D陣列製成的地圖畫出來。
改的地方如下:
// 在iron_render_window.c的DrawRectangle
// 原本
V2f top_right = V2F_ZERO;
top_right.x = sz.x / 2.0f;
top_right.y = sz.y / 2.0f;
V4f v0 = { top_right.x, top_right.y, 0.0f, 1.0f };
v0 = Mat4MulV4f(rotate_matrix, v0);
top_right.x = v0.x + pos.x;
top_right.y = v0.y + pos.y;
// 修改後
V2f top_right = V2F_ZERO;
top_right.x = sz.x;
top_right.y = sz.y;
V4f v0 = { top_right.x, top_right.y, 0.0f, 1.0f };
v0 = Mat4MulV4f(rotate_matrix, v0);
top_right.x = v0.x + pos.x;
top_right.y = v0.y + pos.y;
其實就是把每個頂點都往正的方向0.5,畫出來的方塊就全都會在視角內了,記得是要全部頂點。
接下來,建立一個簡單的結構,存放角色的資訊
static struct {
V2f pos;
V2f dir;
Color c;
V2f speed;
} PLAYER;
然後可以在game loop中加入輸入控制,根據speed
與delta time
來移動。
最後用了之前寫的其他功能,在視窗上畫出更多資訊,幫助我們Debug,以下是我目前加的東西
然後這是目前的成果