今天要開始實作一個小遊戲:單字記憶遊戲。
遊戲的規則,就是有許多蓋著的牌,每張牌有一個英文單字,或者某個英文單字的中文翻譯。
玩家僅能翻開牌觀看單字幾秒,牌會自動蓋上。必須將單字牌跟對應的翻譯牌在短時間內同時掀開,才能得到分數。
先從最簡單的功能開始實作:如何用滑鼠觸發事件,把牌掀開,並顯示單字。
程式語言採用 C++ 搭配 SDL2。
工作環境:elementary OS.
1. 首先我想要在某個位置 rendering true type font,這就需要安裝 SDL_ttf.h:
sudo apt-get install libsdl2-ttf-dev
g++ compile 時記得要 link: -lSDL2_ttf
2. 到 fontsquirrel 可以下載免費的 ttf 字型。我選擇的字型是 "Raleway"。
接下來分成三個步驟:
- initialized SDL_Renderer。
- 讀 Texture 圖檔,讀 ttf 檔案。把所有牌的可能圖案都先畫到一個 SDL_Texture 內。
- 滑鼠觸發事件處理。繪圖。
重點在第三個步驟
滑鼠觸發了某個按鈕,按鈕物件就會更新自己的狀態,例如將狀態更新為 Botton UP/Down,然後根據這個狀態值,去將 SDL_Texture 裁切出要顯示的部份,把切下來的部份 render 到一個 SDL_Renderer 物件上。
明天繼續完成細節的部份。
留言
張貼留言