狠狠撸

狠狠撸Share a Scribd company logo
WP7 + XNA携帯でゲームしようぜ!WP7 + XNA - @mimura11331
自己紹介三村 聡志 ID : @mimura1133このまえセプキャン行ってきたときに NHK に撮られた。ウェブサイトhttp://mimumimu.net/ブログhttp://mimumimu.net/blog/とりあえず、「mimura1133」で何かがヒットしますWP7 + XNA - @mimura11332
内容Windows Phone 7ってなにXNAってなあにPCでも使える基本的な開発方法Windows Phone 7 でつかえること。WP7 + XNA - @mimura11333
入る前に。Windows Phone 7 日本発売おめでとうございます。私も Windows Phone 7 ユーザです。ついでに Windows 7 ユーザです。でも、Windows 7 Phone ユーザではありません。WP7 + XNA - @mimura11334
Windows Phone ? iPhoneiPhone は iPhone なのです。Windows Phone は Windows Phone なのです。多分無いと思いますが、どこかのおばちゃん、おじちゃんのように、ああ、 Microsoft の iPhone かーなどとは言わないように。iPhone もWP7も、良いスマートフォンなのです。WP7 + XNA - @mimura11335
WM6 -> Windows Phone 7超さくさく動くよ!Metro UI の採用でわかりやすいよ!ネイティブコード使えないけどいいよね。XNAでゲーム書けるよ!WP7 + XNA - @mimura11336
Windows Phone 7 でゲームメニュー内の Games の中に入ってる。現時点で結構な数のゲームがある。XNA を使って開発をする。Xbox の時ほどのもっさりはない。WP7 + XNA - @mimura11337
XNA とは?XNA‘s Not Acronymed (XNAは頭字語ではないよっ!Microsoft 社の簡単かつ本格的なゲーム開発環境PC と Xbox と Windows Phone をターゲットに出来る。まさに「3スクリーン+クラウド」の「3スクリーン」ですね!WP7 + XNA - @mimura11338
XNA を使う利点.NET Framework 上となるため、移植性が高いコードが書ける。ゲームを開発していてありがちな、メモリリークを始めとする、メモリの問題をあまり気にしなくていい。そもそも C# のパワーを最大限に活かせる!WP7 + XNA - @mimura11339
なんでXNAなのDirectX なら、ネイティブコードだよ! ->XNA ならコード量少なく、楽に書けるよ! そこまで遅くないよ!XNAにしなくても、Managed DirectXってのがあるよ?-> (((;?Д?))) それ使うとは、尊敬します。WP7 + XNA - @mimura113310
XNAでの開発手法WP7 + XNA - @mimura113311
必要なもの気合い、探求心、最後までやろうとする気持ちWindows Vista or 73GB 以上のディスクの空き2GB の メモリDirectX 10 もしくはそれ以降に対応するグラフィックスカードWDDM 1.1 のドライバ分からなければ、DirectX Caps Viewer Tool で調べるといいとおもうよ!WP7 + XNA - @mimura113312
開発準備AppHub (http://create.msdn.com/ja-JP) から、ツールをダウンロードしよう!WP7 + XNA - @mimura113313
必要条件が揃わない場合OS が間に合わない場合は、以下で間に合います。DreamSpark (http://www.dreamspark.com/ )MSDN AA (各学校に聞いて下さい。 )MSDN SubscriptionなどなどWP7 + XNA - @mimura113314
始めよう。1.Visual Studio を立ち上げる。2.新規プロジェクトを作るWP7 + XNA - @mimura113315
プロジェクトを作る1.XNA Game Studio 4.0を選ぶ2.Windows Phone ゲームを選ぶ3.名前設定WP7 + XNA - @mimura113316
ターゲットの設定Windows Phone 7.1 で問題ないと思います。WP7 + XNA - @mimura113317(Is Not Windows Phone 7.5)
準備完了!WP7 + XNA - @mimura113318
コードの流れInitalize(初期化処理)LoadContent(読み込み処理)起動起動Update(更新処理)Draw(描画処理)ゲーム中UnloadContent(解放処理)終了終了WP7 + XNA - @mimura113319
こう書けばいいLoadContent画像読み込みとか、モデル読み込みのコードUpdateコントローラの動きを見て動かすとか、衝突判定とかDraw描画命令をどっさりとUnloadContentリソースの解放処理を書く。(あれば)WP7 + XNA - @mimura113320
さんぷる:画像表示表示させたい画像を「~Content」に持って行く。WP7 + XNA - @mimura113321
さんぷる:画像表示コード上部「SpriteBatchspriteBatch」付近に下記を追記Texture2D textureLoadContentの TODO: の下に、下記を追記this.texture= this.Content.Load<Texture2D>(“pics”);注:読み込んだ名前に合わせる。今回の場合は 「pics」Draw の TODO: の下に、下記を追記spriteBatch.Begin();spriteBatch.Draw(this.texture, Vector2.Zero,Color.White);spriteBatch.End();WP7 + XNA - @mimura113322
さんぷる:画像表示表示された。 (ちなみに、私の写真です。)WP7 + XNA - @mimura113323
さんぷる:文字表示文字を表示するために、フォントを追加する必要が。~Content を右クリック ->追加 -> 新しい項目WP7 + XNA - @mimura113324
さんぷる:文字表示「スプライトフォント」を選択 -> 追加WP7 + XNA - @mimura113325
さんぷる:文字表示コード上部「SpriteBatchspriteBatch」付近に下記を追記SpriteFont font;LoadContentの TODO: の下に、下記を追記this.font = this.Content.Load<SpriteFont>("SpriteFont1");注:読み込んだ名前に合わせる。Draw の spriteBatch.Begin();の下に、下記を追記spriteBatch.DrawString(this.font, "HELLO WORLD",Vector2.One,Color.Red);WP7 + XNA - @mimura113326
さんぷる:文字表示頭の上に文字が表示された!WP7 + XNA - @mimura113327
簡単だとおもいません?WP7 + XNA - @mimura113328
DirectX とかだと。画面初期化だけでもかなりの量。画像読み込みだけでもすごい量。ああ、解放処理も書かなくちゃ。いやいや、そのまえに jpg だから、デコーダが。あうあうあーWP7 + XNA - @mimura113329
とりあえず、そんなこと考えずにさくっと書けるのがXNAWP7 + XNA - @mimura113330
注意点DirectX と異なり、右手座標系なので注意です。WP7 + XNA - @mimura113331
覚えておくと良さそうSpriteBatch2D でお世話になる。this.spritebatch.Draw()this.spritebatch.DrawString()をよく使う。this.content.Load<[TYPE]>(“[NAME]”);Content に追加した物を読み込む時につかう。WP7 + XNA - @mimura113332
入力デバイスXNAで標準提供しているデバイス:WP7 + XNA - @mimura113333
Windows Phone 7 上なので、タッチを使ってみる。WP7 + XNA - @mimura113334
タッチして画像を動かすコード上部の using… の部分に、下記を追記using Microsoft.Xna.Framework.Input.Touch;Initialize() の TODO: の下に下記を追記TouchPanel.EnabledGestures = GestureType.FreeDrag;WP7 + XNA - @mimura113335
タッチして画像を動かすSpriteBatchspriteBatch; がある箇所に下記を追記:Vector2 vec;Initialize() の TouchPanel… の下に下記を追記:this.vec = Vector2.Zero;Update() の TODO: の下に下記を追記:if (TouchPanel.IsGestureAvailable)this.vec= TouchPanel.ReadGesture().Position –               Vector2.One * 100;WP7 + XNA - @mimura113336
タッチして画像を動かすDraw() のspriteBatch.Draw(this.texture, Vector2.Zero, Color.White);をspriteBatch.Draw(this.texture, this.vec, Color.White);に書き換える。WP7 + XNA - @mimura113337
タッチして画像を動かすドラッグにあわせて、画像がうごく。WP7 + XNA - @mimura113338
コメントその他 XNA では 3D をバリバリ使った開発や、Windows Phone 7 をばしばし使った開発、などなどできますが、私より後の、私よりもはるかにできる方に??頼みます。(ぉWP7 + XNA - @mimura113339
すごいゲームができたらどうしよう!光の速度で APP HUB に投稿しましょう。学生なら無料です。どんどん投稿しましょう。WP7 + XNA - @mimura113340
そんなこんなでまとめ。やる気とがんばりと、ハードウェアとソフトウェアがあれば、開発できる。結構少ない行数でさくっと書ける。「俺すげぇ!」になったら、すぐさま APP HUB へ。Windows Phone 7 のゲームを作って、学校に持っていって、クラスの人気者になろう!WP7 + XNA - @mimura113341
最後にXNA – ソーサリフォース (まずはここから)http://sorceryforce.com/xna/ひにけにXNA (XNA 最先端情報)http://blogs.msdn.com/b/ito/APP HUB (投稿場所)http://create.msdn.com/ja-JPそんなわけで、どんどん遊びましょう!WP7 + XNA - @mimura113342
余談IDA Pro とかでバイナリみるの大好きな人C# で開発するのが大好きな人DLL Injection とかしちゃうぜ! な人C は好きだぜって人Windows API はいいよね! 惚れちゃう な人変態行為(Ex. SUA 使ったお遊び)大好きな人該当する人 -> ぜひとも連絡先教えてください!Twitter : @mimura1133Facebook : Satoshi MimuraWP7 + XNA - @mimura113343

More Related Content

Windows Phone 7 と XNA の世界