這個是我的遊戲的最初設計圖,其實算是蠻多遊戲的總和。
我一開始其實不太知道要做甚麼遊戲,所以就隨便在 YouTube 上面打 "C++ game"
結果第一個就跑出:
Let's make 16 games in C++: TETRIS
這個 YouTuber 做了 16 種小遊戲,每個都有打 code 過程。
我原本心想,那就找幾個遊戲,然後把裡面的東西學一下,在做出自己的遊戲就好了吧! (Sounds freaking EZ)
但是代誌不是憨人所想的納尼簡單。
在我一看到她的 header file 的時候,我就想到,案情不單純。
我照打了他上面打的 code 想叫出我第一個視窗,也就是:
#include<SFML/Graphic.hpp>
#include<time.h>
using namespace sf;
int main()
{
while(window.isOpen())
{
Event e;
while (window.pollEvent(e))
{
if(e.type == Event::Closed)
window.close();
}
window.clear(Color::White);
window.draw(s);
window.display;
}
return 0;
}
但是結果就是:
[Error] SFML Graphic.hpp: No such file or directory
Great! 太好了?
所以我又上網找了 SFML 是甚麼。
( 簡單說他就是一個用來寫遊戲的好用的函式庫 ! )
接著不知不覺就找到了我現在學的這個 YouTuber,覺得他的教學還不錯,一步一步的讓觀眾了解他正在幹嘛(就是有解說),而且沒甚麼 accent (雖然印度人教得很好,但我有時候真的聽不懂,又沒有英文字幕),頓時讓我找到了一絲希望。
首先,我們需要具備的是 visual studio (我用的是 community 2019),還有 SFML 的檔案。
SFML 的教學都在這裡了 就讓你們自己去尋找吧!
如何把 SFML 鑲嵌進你的 visual studio 裡面,在這裡也講解了很多 你只需要一步一步做,最後一定可以的 !
【因為上面步驟有點繁瑣,也不是重點,所以直接跳過,進入開發遊戲的部分】
要做一個遊戲,打開肯定是需要一個視窗的。所以我們需要先把視窗叫出來。
int main()
{
sf::Window window(sf::VideoMode(800, 600), "My window");// for size, "name"
// run the program as long as the window is open
while (window.isOpen()) // if not, it'll shut down as soon as you open it
{
// check all the window's events that were triggered since the last iteration of the loop
sf::Event event;
while (window.pollEvent(event))
{
// "close requested" event: we close the window
if (event.type == sf::Event::Closed)
window.close();
}
window.clear(Color::White);
window.draw(s);
window.display;
}
return 0;
}
非常的簡單,只要你執行它就會跑出一個大小為 800 x 600 的白色視窗,名稱就會寫 My window,像是這樣:
這篇介紹的東西稍微少了一點,但是明天會找到一些在 SFML 中蠻好玩的 function。