Windows Phone 7 と XNA の世界
Upcoming SlideShare
Loading in...5
×
 

Windows Phone 7 と XNA の世界

on

  • 2,314 views

Windows Phone 7 上で動作するゲームの作成方法を、...

Windows Phone 7 上で動作するゲームの作成方法を、
簡易的なサンプルと実例を用いて説明したドキュメントです。

- スマートフォン勉強会@関東#14 ドキュメント
http://sumaben.jp/?SPWorkshopKanto14

Statistics

Views

Total Views
2,314
Views on SlideShare
1,716
Embed Views
598

Actions

Likes
0
Downloads
2
Comments
0

4 Embeds 598

http://mimumimu.net 585
http://unkei3.tumblr.com 5
http://webcache.googleusercontent.com 4
https://twitter.com 4

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Windows Phone 7 と XNA の世界 Windows Phone 7 と XNA の世界 Presentation Transcript

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