LoginSignup
9
9

More than 5 years have passed since last update.

【Rust】windowsでggez(ゲーム開発ライブラリ)を動かすまで

Last updated at Posted at 2018-09-08

2019/4/13 追記
ggez の開発が進んでおり、SDL2 の設定は不要になりました。
当記事の内容は古いので、現時点で動く(画像表示/BGM/SE/キー入力)サンプルを置いておきます。
https://github.com/ahyaemon/ggez_template
150行程度のサンプルなので、ソースコードを読めばある程度分かるかと思います。
使用している曲は自作の超良曲です。

はじめに

昔作ったゲーム の次回作を Rust で作ろうと思い、良いゲームライブラリがないか調べたところ ggez というものがありました。
https://github.com/ggez/ggez

まだほとんど触っていませんが、hello world を出すところまでやったので書いておこうかと思います。

環境

OS: Windows 10
rustc: 1.28.0
tool-chain: stable-x86_64-pc-windows-msvc

rust は rustup-init.exe を使用してインストールしています。
https://www.rust-lang.org/ja-JP/install.html

Rust-SDL2のインストール

ggez を動かすためには Rust-SDL2 がインストールされている必要があります。
https://github.com/Rust-SDL2/rust-sdl2

1. SDL2-devel-2.0.x-VC.zip のダウンロード

下記サイトの Download ページからダウンロードします。
http://www.libsdl.org/

私がダウンロードしたときのバージョンは SDL2-devel-2.0.8-VC.zip でした。
※ toolchain に msvc を使用しているため、VC をダウンロードしています。

2. zipを解凍

一応私は C ドライブ直下に解凍しましたが、どこでもいいです。

3. .libファイルをコピー

解凍した zip の中に、

SDL2-devel-2.0.x-VC\SDL2-2.0.x\lib\x64\

というフォルダがあり、その中の .lib ファイルを必要な場所にコピーします。
※ .lib ファイルと一緒に .dll ファイルも入っていますが、後で使います

rustup-init.exe を使用して rust をインストールしている場合、

C:\Users\{ユーザー名}\.multirust\toolchains\{アクティブなtoolchain}\lib\rustlib\{アクティブなtoolchain}\lib

というフォルダがあるので、その中にコピーします。

※ rustup-init.exe 以外の方法で rust をインストールしている場合はコピー先が異なるので、Rust-SDL2のgithubを参考にしてください

cargoプロジェクトの作成・実行

1. プロジェクトを作成

cargo new my_first_ggez --bin

2. SDL2.dll をコピー

先ほど解凍した SDL2 の

SDL2-devel-2.0.x-VC\SDL2-2.0.x\lib\x64\

の中に SDL2.dll というファイルがあります。
これをプロジェクト直下に置きます。

my_first_ggez\SDL2.dll

3. Cargo.tml の編集

sdl2, ggez への依存関係を追記します。

[dependencies]
sdl2 = "0.31"
ggez = "0.4"

4. サンプルをコピー

4.1. hello_world.rs のコピー

ggez のサンプルページから、hello_world.rs を丸ごとコピーして、main.rs に貼り付けます。
https://github.com/ggez/ggez/blob/master/examples/hello_world.rs

4.2. DejaVuSerif.ttf のコピー

hello_world.rs では フォントファイル DejaVuSerif.ttf を使うので、コピーしてきて resources フォルダに置きます。
https://github.com/ggez/ggez/blob/master/resources/DejaVuSerif.ttf

my_first_ggez\resources\DejaVuSerif.ttf

5. ビルド

cargo build

※ 次の run の時にビルドされるので、build はやらなくてもいいです

6. 実行

cargo run

7. 結果

hello_world.png

おわりに

あとは色々サンプルを見ながら作りたいゲームを作りましょう。

9
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
9