すべてのイグロデロフとその同情者への挨拶。 この記事では、SFMLなどのフレームワークについて説明し、その上で簡単なゲームを作成してみます(この場合、伝説のPongのクローンになります)。

v
ダウンロードしてインストール
フレームワークは
公式サイトからダウンロードできます。 現時点では、1.6と2.0の2つのバージョンをダウンロードできます。 Visual C ++ 2010にはバージョン2.0を使用しました。ご使用のOSおよびコンパイラにオプションSFMLを選択できます。
この記事の目的は、異なるIDEでライブラリを接続する機能について説明することではないため、インストールガイドはで読むことができます
。 サイト OSやコンパイラに縛られることなく、ストーリーをリードしていきます。
基盤を作る
ライブラリのうち、必要なのは
sfml-graphics、sfml-window、sfml-systemのみです (クロスプラットフォームのmain関数のために
sfml-mainを接続できます)。 将来のゲームのスケルトンを作成し始めます。
#include <SFML/Graphics.hpp> int main() { // sf::RenderWindow window(sf::VideoMode(800, 600), "Pong"); // while(window.isOpen()) { // sf::Event event; while(window.pollEvent(event)) { // Escape if(event.type == sf::Event::Closed || (event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::Escape)) window.close(); } // window.clear(); // // window.display(); } return 0; }
ここで何をしましたか? 最初の行では、
Graphics.hppヘッダーファイルが接続され、
メイン()関数と、タイトルが「Pong」の800X600サイズのウィンドウが作成されました。
SFMLは便利なイベント管理ツールを提供します。 これらを使用して、アプリケーションサイクルを作成し、ウィンドウイベントを処理します。 ループの助けを借りて、Escapeキーを押してウィンドウを閉じることを実装します。 一般に、
sf :: Eventは、キーボードだけでなく、たとえばマウスでも動作する機能を提供します。 さらに、一部のシステムイベントを処理できますが、新しいプラットフォームごとにコードを書き換えないでください。 したがって、ゲームでジョイスティックを使用する場合、コードの半分を書き直す必要はありません。処理サイクルに数行を追加するだけで十分です。
次に、ウィンドウをクリアし、バッファーの内容を描画します。 すべて、ゲームフレームの準備ができました。作業をコンパイルしてテストできます。 黒いウィンドウが目の前に表示されます。
ラケット
Pongには、ラケットとボールの2種類のオブジェクトしかありません。 次の記事でボールを扱い、ラケットクラスを作成します。 しかし、最初に、
main()に数行を追加する必要があります。
それでは、
Paddleクラスの作成を始めましょう。 ここでは基本的な方法のみを説明しました。他のすべてはソースで見ることができます(記事の最後にあるダウンロードリンク)。
class Paddle { sf::RenderWindow* window;
サイズが10X100の長方形のラケットとして機能します。
Vector2fクラスを使用してサイズを設定します-これはごく普通のベクトルです。将来的にはボールの方向を設定するのに役立ちます。
イベントシステムに加えて、SFMLには入力デバイスを処理する別の方法があります。 キーボードからラケットを制御するために使用します。 プレーヤーのコントロールをマウスに転送することもできます-このため、
sf :: Mouse (または
sf :: Joystick )が使用されます。
ソースコードでは、
setYメソッドに注意することをお勧めします。このメソッドは、ラケットの座標をチェックし、フィールドから出ないようにします。
これで、ウィンドウをクリアした後、
Paddleオブジェクトのペアを作成し、
drawおよび
updateメソッドを呼び出すことができます。 ソースコードをコンパイルすると、ウィンドウの反対側に2つのラケットが表示されます。1つ目は上下の矢印キーを使用して制御され、2つ目はWとSによって制御されます。
おわりに
とりあえず、ここで終わります。次の記事では、ボールクラスとポイントシステムの作成方法を説明します。
ソース