Help

2007年07月24日

【講座001】 まず新規プロジェクトを作ってみよう

やっと今日から始まるプログラミング講座!ということで、ゲーム作りを進めていきたいと思います。ゲームを作るにもXNAってのがどういうものなのか? Visual C#ってなんだろう?ってことから始まってしまうので、いろいろと触ってみたいと思います。

何はともあれ、 Visual C#でゲームを作る、というか、ソフトウェアを作るためにいちばん最初に行うのは、「プロジェクトを作成する」ってことになります。プロジェクトっての は、1つの実行可能形式のEXEファイルを作るため(DLLっていう形式のファイルを作るのが目的だったりすることもあるけれど)の単位でして、それを作 らなければなりません。
ただ、からっぽのプロジェクトってのを作ってしまうと、一からいろいろなものを作らなければなりませんが、 XNAをインストールしているので、「ひな形(テンプレート)」ってもので、「ゲーム」の基本パッケージってのが入っています。これをベースにして、ゲー ムを作っていくことにします。

新規プロジェクト





Visual C#を起動して、[ファイル]-[新しいプロジェクト]を選びます。

新規プロジェクト 2








で、テンプレートの中の「Windows Game」を選びます。となりに「Windows Game Library」ってのもあるので間違えないようにしましょう。プロジェクト名は「TestProject」と入力しましたが、別に好きな名前で構いませ ん。
そうすると、ちょっとHDDが動いて、Gameのプロジェクトができあがります。タブには「Game1.cs」ってのが表示され ていると思いますが、この中身をざっくり見るために、左側の□をクリックして、ちょっと概観を見てみたいと思います。

折りたたんでみる






「/// <summary>」ってなっているところと「protected override...」ってなっているところをまとめていくと、次のような状況になります。

全体像







画面では見づらいですから、まとめると、このGameというClass(Classっての が、まだ、何かよくわからなくてもいいです)には、
  • Initialize
  • LoadGraphicsContent
  • UnloadGraphicsContent
  • Update
  • Draw
って のが入っているんだな、ということがわかります。でも、それが何を意味しているのか、よく分りませんから、Helpを使ってみるといいわけです。Help は、知りたい言葉の上で[F1]キーを押せば立ち上がります。
いちばん最初の時には、「WebのHelpを使いますか?」みたいなこ とを聞かれますが、情報が一番早く集まるので、Webと連動したHelpを使った方がいいわけですから、「Webも一緒にしらべる」オプションを選びま しょう。
で、立ちあがると、こんな画面です。

Helpを使う







「やっぱり英語か・・・。」みたいな気持ちになるかもしれませんね。
ただ、左側の上の方にプルダウンメニューが付いていますが、この中の「Visual C# Express Edition」を選んで、その下のメニューの中をいくつかクリックしてみると「Visual C#」の項目は、日本語化されているのが多いことも分かります。お目当ての「XNA Game Studio Express」が英語のままなのが辛いんだな・・・と。
マイクロソフトさん、日本のゲームプログラマー増やすなら、早く日本語化し てくれ!とお願いしたくもなるわけですが、しょうがないので、英語のまま、読んでいきます。

そうすると、 「Your First Game: Microsoft XNA Game Studio Express in 2D」(はじめてのゲーム: Microsoft XNA Game Studio Express in 2D)という項目を見つけました。「This article leads you through the steps necessary to create a simple sprite-based game by using XNA Game Studio Express. 」(この項目は、XNA GSEを使って、簡単なスプライトベースのゲームを作るのに必要なステップを紹介しています。)と書かれています。
そのあとのStep2までが、さっきまでやったことと同じで、Step3には、

If you build and run your game now, the GraphicsDeviceManager will handle setting up your screen size and rendering a blank screen. Your game will run and update all by itself. It's up to you to insert your own code to make the game more interesting. (これで、ビルドと実行をすると、GraphicsDeviceManagerってのが、ス クリーンサイズを認識して、からっぽの空間を描くでしょう。この空っぽの空間にゲームが動いていきます。あとはゲームを面白くしていくのは、コードを追加 していくあなた次第です。)

Much of the code to start and run your game has already been written for you, and all have places for you to insert your code.(もうすでにあなたのために、ゲームをスタートし、動かすためのコードが書かれていますか ら、あなたは、そこにコードを挿入していけばいいんです。)

  • The Initialize method is where you can initialize any assets that do not require a GraphicsDevice to be initialized.(Initialize メソッドは、GraphicsDevice以外の他のいろいろな初期化を行うところです。)
  • The LoadGraphicsContent method is where you load any graphical assets such as models and textures.(LoadGraphicsContent メソッドは、モデルやテクスチャなどのグラフィックについて読み込むところです。)
  • The UnloadGraphicsContent method is where any graphical assets can be released. Generally, no extra code is required here, as assets will be released automatically when they are no longer needed.(UnloadGraphicsContent メソッドは、グラフィックが解放されるときに実行されます、普通、使わなくなると、自動的に開放されるので、特に何かを書く必要はありません。)
  • The Update loop is the best place to update your game logic: move objects around, take player input, decide the outcome of collisions between objects, and so on.(Update ループは、ゲームロジックの更新に使うのに最も適した場所です。たとえば、何かが動きまわるとか、プレイヤーの入力を受け取ったり、物と物が衝突したとき にどういう結果を決めるとか、そういうことを書き入れます。)
  • The Draw loop is the best place to render all of your objects and backgrounds on the screen.(Draw ループは、画面に物や背景を実際に書き入れる場所です。)
と書かれています。これで、Game Classというものの概観がわかりました。簡単にいえば、InitializeとLoadGraphicsContentでゲームの初期化や画像の読み込みなどを行っておいて、Updateで実際のゲームの計算や処理を行って、Drawで画面に書き込むということをしていくんだ、というわけですね。(UnloadGraphicsContentはこれといって何かを書く必要はないみたい)

明日は、この先のサンプルプログラムを作ってみましょう。
 

dmatsu2005 at 14:57コメント(0)トラックバック(0) 
livedoor プロフィール

アロハ

痩せないと死ぬよっていう宣告を受けてしまったので、ダイエットに目覚めたプログラマー(約95kg)

広告

レンタルサーバーなら使えるねっと


Google AdSense
Google検索
訪問者数
  • 今日:
  • 昨日:
  • 累計:

オススメの書籍