|
新着トラックバック
|
|
新着トラックバックはありません
|
|
| じゃあ、画像でも表示してみようか |
| 2009年11月9日 20時04分 |
やあやあ、スーパーで蒸しパンを2個買ったら、2個の重量差が20%ぐらいあった事に衝撃を受けたサカックだ。
みんな、蒸しパンを買うときはずっしり重いものを買うと得をするようだ。
さて、画像でも表示してみようか。
XNAで画像を表示するには、その画像をあらかじめプロジェクトのコンテンツとして登録する必要があるという事が俺の調査でわかった。
登録する方法はこうだ。
まず、この前のテスト用のプロジェクトを開いた。まあ、新規作成しただけのものと全く同じだ。
ソリューションエクスプローラのツリーにあるContentを右クリックして、追加(D)→既存の項目(G)を選んで画像ファイルを選択する。

扱えるファイルはまあ、いろいろだ。
今回は.pngで行く。だから.png以外どれが使えるかというほど細かい事は抜きだ。
もし、ソリューションエクスプローラが表示されていない場合、メニューの表示(V)から色々表示/非表示を切り替えられる。
追加すると、Contentに、ファイル名が追加されている。
今回はカードの裏面、back_bkue.pngを追加した。
これをクリックして、下のほうを見てみよう。
プロパティのところに、アセット名というものがある。

これはデフォルトでは、コンテンツのファイル名から拡張子をとっぱらったやつだ。
特に変更する理由もないのでこのまま行く。
プログラム内では、このアセット名を使って識別するようだ。
コードを書く前の準備はこれだけでいいようだ。
以下は、コードに追加する部分だ、ちょっとだけだな。
public class Game1 : Microsoft.Xna.Framework.Gameのところ
SpriteBatch spriteBatch;の下んトコに追加
//追加コード1 画像用の宣言部分
Texture2D CardTest;
LoadContent()のところ
// TODO: use this.Content to load your game content here
って辺りに追加
// 追加コード2 画像の呼び出し
CardTest = Content.Load<Texture2D>("back_blue");
Draw(GameTime gameTime)のところ
// TODO: Add your drawing code hereの下んとこに追加
// 追加コード3 実際の描画
// スプライトバッチの開始
spriteBatch.Begin();
// カード画像の描画
spriteBatch.Draw(CardTest, new Vector2(100, 100), Color.White);
// スプライトバッチ終了
spriteBatch.End();
こんだけだ。
追加コード1で
まあ、2D画像を扱う部分はTexture2Dって形式で行くから、CardTestって名前でやるわ。
って宣言をする。
追加コード2で
格好だけ宣言してるから、中身を"back_blue"って事でよろしく。
って感じで中身を入れる。
さっきのアセット名はここで使うようだ。
追加コード3で
描画にはスプライトバッチとかいうのがやってくれるようだ。
スプライトバッチに頑張ってもらう。
追加した3行は、上から順に、
「俺のターン!!」
「CardTestを100,100の座標に背景色白で表示!!」
「これでターンエンドだ!!」
って感じだろ、多分。
実際、これだけの記述で本当に表示されてしまうから驚きだ。

世の中便利になったもんだ。
|
| http://db-e.net/sl/archive_74.htm |
|
コメント(0) / トラックバック(0)|XNA|
|
| コメントを書く |
|
|
| コメント |
|
|
| トラックバック |
|
|
|
|
2010年2月
|
| 日 |
月 |
火 |
水 |
木 |
金 |
土 |
|
1 |
2 |
3 |
4 |
5 |
6 |
| 7 |
8 |
9 |
10 |
11 |
12 |
13 |
| 14 |
15 |
16 |
17 |
18 |
19 |
20 |
| 21 |
22 |
23 |
24 |
25 |
26 |
27 |
| 28 |
|
|
|
|
|
|
|
リンク
関連書籍
|