LoginSignup
5
5

More than 3 years have passed since last update.

C++の勉強しながらDxLibで2Dゲーム作ってみない?(準備編)

Last updated at Posted at 2020-11-26

#はじめに
お久しぶりです、まゆC#と申します(*'▽')
初投稿から1年以上空いて0x12歳になりました...w
ここ最近はAIやらDiscordBotから一時離れてゲーム開発関係のことをしています。
そこでDxLibで簡単にゲーム開発をしながらついでにC++を勉強していく記事を書いてみようと思いました。
僕自身C#がメイン言語ですのであくまでも初心者の方向け記事となります。

#この記事の対象
・Dxlibを使いゲーム開発をしてみたい方
・C++を始めたばかりの初心者の方で作りながら覚えたい方
・何かしらのライブラリやツールを使ってゲーム開発をしてみたい人方

#環境整備
この記事ではVisualStudio2019を使っての開発を前提に書いていきます。
VisualStudio2019をダウンロードされていない方は以下のリンクからダウンロードしてください。
個人開発ではVisualStudio Communityで大丈夫です。
VisualStudio2019のダウンロード

##1.DXLibのダウンロード
DxLibのダウンロード
DxLibは上記の公式サイトからダウンロードできます。
Windows版VisuakStudio(C++)用をダウンロード、解凍してください。
解凍まで終わったら解凍後のファイルに入っているDxLib_VCというファイルを任意の場所に移動します。
今回はCドライブ直下にDxLib_VCファイルを置くことを前提に進めていきます。

##2.VisualStudioの設定
DxLibをDLしただけではまだプロジェクトで使うことはできません。
まずはVisualStudioでプロジェクトを作り、リンカの設定をしていきます。
VisualStudioを開いて新しいプロジェクトの作成を選択します。
VS_Start.jpg

ドロップダウンでC++ / Windows / デスクトップを選択し、Windowsデスクトップウィザードを選択します。
VS_select.jpg

適当なプロジェクト名をつけて好きなディレクトリで作成します。
今回はDxLib_Projectという名前にしました(ダサい)
VS_MakeProject.jpg

アプリケーションの種類は以下の通りにします。
このときからのプロジェクトにするようにしてください。
VS_Project_set.jpg

ここまでできたらソリューションエクスプローラーにあるプロジェクトを右クリック

プロパティを選択します。
VS_Setting1.jpg
プロパティページで構成をすべての構成にし、文字セットをマルチバイト文字セットに変更して適用します。
VS_Setting2.jpg

ここでソースファイルの追加を忘れていたので追加します(書き直せとか言わないで)
プロパティを閉じてソリューションエクスプローラーに戻ります。
ここでソースファイルを右クリックし追加から新しい項目を選択します
VS_AddSource.jpg

main.cppというファイルを作成します。
VS_AddSource2.jpg

ここまで作りもう一度プロパティを開くとC/C++という項目が追加されています。
このC/C++から全般を開き追加インクルードディレクトリにダウンロードしたDxLibのプロジェクトに追加すべきファイル_VC用までを
設定し適用します。
今回はCドライブにファイルを配置しているので変更していなければ以下のディレクトリをコピペで大丈夫です。
C:\DxLib_VC\プロジェクトに追加すべきファイル_VC用

この作業をリンカーから全般を選択し、追加のライブラリディレクトリでもう一度繰り返します。
VS_Setting3.jpg

次に構成をReleaseにし、C/C++コード生成からランタイムライブラリをマルチスレッド(/MT)にして適用します。
VS_Setting5.jpg

最後に構成をDebugにしランタイムライブラリを``マルチスレッド デバッグ(/MTd)に変更し適用したら設定は終了です。
なかなか多いですね...w
VS_Setting6.jpg

#取りあえず動くようにする
長い設定お疲れ様でした!
でもこれだけではコードがないので動きません。
今回はあくまで動くか確認ということでウィンドウを出すところまでやっていきます。
以下のコードを今はとりあえず魔法の言葉ということでコピペしてみてください。

main.cpp
#include "DxLib.h"

const char *TITLE = "Untitled";
const int WIN_WIDTH = 960;
const int WIN_HEIGHT = 540;

int WINAPI WinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPSTR lpCmdLine, _In_ int nCmdShow)
{
	ChangeWindowMode(true);
	SetWindowSizeChangeEnableFlag(false, false);
	SetMainWindowText(TITLE);
	SetGraphMode(WIN_WIDTH, WIN_HEIGHT, 32);
	SetWindowSizeExtendRate(1.0);
	SetBackgroundColor(35, 35, 35);
	SetDrawScreen(DX_SCREEN_BACK);

	if (DxLib_Init() == -1) { return -1; }

	while (true) {
		ClearDrawScreen();

		ScreenFlip();
		WaitTimer(20);
		if (ProcessMessage() == -1) { break; }
		if (CheckHitKey(KEY_INPUT_ESCAPE) == 1) { break; }
	}

	DxLib_End();
	return 0;
}

ここまで書けたらVisualStudioの上の方にある再生マーク(ローカルWindowsデバッガー)を押してみましょう!
Window.jpg

上図の灰色な画面が出力されたら成功です!
とりあえず準備編ではここまでとしましょう(*'▽')

#最後に
準備編お疲れさまでした!
今回はウィンドウを作るところまで進みましたね!作れちゃいましたね!!!
次回からは実際に図形の描画などをやっていくつもりですので少々お待ち下さい!

###参考URL
DxLib公式ページ

###作者について
詳しくはわんころメソッド();HPにどうぞ(*'▽')
わんころメソッド();HP
Twitter(まゆC#)
GitHub(まゆC#)

###コミュニティ
Discordで雑談から質問まで様々なチャンネルがあるまゆC#のコミュニティサーバーがあります!
わからないことがあればこちらでもお答えするのでぜひ!

Discordサーバー : わんころメソッド(雑談);

5
5
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
5
5