Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9707

C#とDXライブラリで弾幕STGを作ってみよう! Part1 準備編+C言語の復習編

$
0
0

お詫び

こちらをご覧ください。
はい、C言語から逃げました。

理由としては、やはりC言語だと作るのが大変になる部分が多いので、C++を使う予定でした。これだと、C言語詐欺になってしまい、他の言語を使うのならC#の方がコードがわかりやすい部分が多いので急遽C#に変更しました。

目次

  • Visual Studioのインストール
  • プロジェクトの作成
  • C言語プログラムのC#化

Visual Studioのインストール

  1. Visual Studio 2019のダウンロードページに行き、無料で使えるCommunityバージョンの無料ダウンロードをクリックしてインストーラをダウンロードする。(実はインストーラのインストーラ)
  2. 先ほどダウンロードしたインストーラをクリックして、指示通りにインストールする。
  3. スタートメニューに「Visual Studio Installer」が追加されているので開き、「.NET デスクトップ開発」にチェックを入れ、インストールする。(とてもダウンロード量が多いので注意) スクリーンショット (145).png
  4. スタートメニューに「Visual Studio 2019」があることを確認する。

プロジェクトの作成

  1. Visual Studio 2019を起動し、右下の「新しいプロジェクトの作成」をクリックする。
    aaa.png

  2. プロジェクトテンプレート一覧から、「空のプロジェクト(.NET Framework)」を探してクリックする。
    スクリーンショット (146).png

  3. プロジェクト名を適当に付け、保存場所は分かりやすいところにする。(ドキュメントフォルダの中など)

DXライブラリの導入

プロジェクトが完成したら、DXライブラリの導入を行います。こちらから「VisualC# 用パッケージ」をダウンロードして解凍してください。
解凍ができたら、DxDLL.csをプロジェクトフォルダの中にまた同じ名前のフォルダがあるので、そこのApp.configというファイルと同じところにコピーします。
Visual Studioのソリューションエクスプローラのプロジェクト名を右クリックして「追加」→「既存の項目」をクリック。先ほどの「DxDLL.cs」を追加してください。
スクリーンショット (147).png

これで一応環境の整備はある程度整いました。

C言語プログラムのC#化

Visual Studioのソリューションエクスプローラのプロジェクト名を右クリックして「追加」→「新しい項目」をクリック。ファイルの名前を「Program.cs」とします。

この記事に書かれているC言語のプログラムをC#に直したものがこちらになります。

Program.cs
usingDxLibDLL;namespaceQiita{classProgram{/// <summary>/// メイン関数/// </summary>publicstaticvoidMain(){constintWIN_W=960,WIN_H=720;DX.SetOutApplicationLogValidFlag(DX.FALSE);DX.SetAlwaysRunFlag(DX.TRUE);DX.SetWindowSizeChangeEnableFlag(DX.TRUE);DX.SetFullScreenResolutionMode(DX.DX_FSRESOLUTIONMODE_DESKTOP);DX.SetWindowText("シューティングゲーム");DX.ChangeWindowMode(DX.TRUE);DX.SetGraphMode(WIN_W,WIN_H,32);// DXライブラリの初期化if(DX.DxLib_Init()==-1)return;DX.SetDrawScreen(DX.DX_SCREEN_BACK);//裏画面処理を設定するintimage=DX.LoadGraph("img/jiki.png");floatx=WIN_W/2.0F,y=WIN_H-100.0F;constfloatMOVE_SPEED=3.0F;while(DX.CheckHitKey(DX.KEY_INPUT_ESCAPE)==0){DX.ProcessMessage();DX.ClearDrawScreen();//裏画面をクリアするif(DX.CheckHitKey(DX.KEY_INPUT_LEFT)==1)x-=MOVE_SPEED;if(DX.CheckHitKey(DX.KEY_INPUT_RIGHT)==1)x+=MOVE_SPEED;if(DX.CheckHitKey(DX.KEY_INPUT_UP)==1)y-=MOVE_SPEED;if(DX.CheckHitKey(DX.KEY_INPUT_DOWN)==1)y+=MOVE_SPEED;//自機の画面外へのはみ出しをチェックするif(x<0.0F)x=0.0F;if(x>WIN_W)x=WIN_W;if(y<0.0F)y=0.0F;if(y>WIN_H)y=WIN_H;DX.DrawRotaGraphF(x,y,1.0F,0.0F,image,DX.TRUE);DX.ScreenFlip();//2つの画面を入れ替える}DX.DxLib_End();}}}

C言語と違うところは多くありますが、基本的にDXライブラリで提供されている関数や定数は、その前にDX.を付けなければなりません。

できたら、Ctrl+Shift+Bでビルドします。このまま実行したいところですが、C#版ではDXライブラリのDLLをコピーしないと動かないのでコピーしてきます。

ダウンロード、解凍を済ませてあるC#版DXライブラリのフォルダから、DxLib.dllDxLib_x64.dllDxLibDotNet.dllの3ファイルを、DxDLL.csをコピーしたフォルダにあるbinフォルダ内のDebugフォルダにコピーしましょう。

C言語版の時に作ったjiki.pngも同じところにimgフォルダを作ってそこに入れましょう。

これでF5またはCtrl+F5キーを押せばC言語版と同じような動作をします。

まとめ

これからはC#で開発をしていきたいと思います。
次回は、ソースコードを分割して、きれいな形にしていきましょう。


Viewing all articles
Browse latest Browse all 9707

Trending Articles