DrawTexture2D

using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;
using Microsoft.Xna.Framework.Net;
using Microsoft.Xna.Framework.Storage;
 
namespace DrawTexture2D
{
    /// <summary>
    /// ゲームの根幹となる部分
    /// </summary>
    /// XNAで用意されたGameクラスを継承してGameMainクラスを作成
    public class GameMain : Microsoft.Xna.Framework.Game
    {
 
        GraphicsDeviceManager graphics;   //描画に関するデバイスの構成、管理を行うクラス
        SpriteBatch spriteBatch;//同じ設定でスプライトのグループを描画できるようにするクラス
 
        Texture2D texture;  //画像を描画するテクスチャ
 
        /// <summary>
        /// コンストラクタ、newする時に呼ばれる。
        /// </summary>
        /// 最低限の初期化処理を行う。
        public GameMain()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
 
            //ウィンドウの横、縦幅。デフォルトで800x600
            graphics.PreferredBackBufferWidth = 1200;
            graphics.PreferredBackBufferHeight = 800;
        }
 
        /// <summary>
        /// 初期化処理
        /// </summary>
        protected override void Initialize()
        {
            base.Window.Title = "RDD 製作委員会";   //ウィンドウのキャプションを設定
 
            // TODO: Add your initialization logic here
 
            base.Initialize();
        }
 
        /// <summary>
        /// グラフィックスコンテントの読み込み
        /// </summary>
        protected override void LoadContent()
        {
            // テクスチャを描画するためのスプライトを作成
            spriteBatch = new SpriteBatch(GraphicsDevice);
 
            //テクスチャの読み込み。パスはフルパスで指定してます。
            texture = Texture2D.FromFile(graphics.GraphicsDevice, "f:\\neko.jpg");
 
            // TODO: use this.Content to load your game content here
        }
 
        /// <summary>
        /// グラフィックスコンテントの解放
        /// </summary>
        protected override void UnloadContent()
        {
            // TODO: Unload any non ContentManager content here
        }
 
        /// <summary>
        /// 更新処理
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Update(GameTime gameTime)
        {
            // 終了
            if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed || //後ろボタンを押したら
                Keyboard.GetState().IsKeyDown(Keys.Escape)                               //Escapeキーを押したら
                )
                this.Exit();
 
            // TODO: Add your update logic here
 
            //ベースの更新、継承元クラスのUpdate()を呼び出す
            base.Update(gameTime);
        }
 
        /// <summary>
        /// 描画処理
        /// </summary>
        /// <param name="gameTime">Provides a snapshot of timing values.</param>
        protected override void Draw(GameTime gameTime)
        {
            //背景色で塗りつぶし
            GraphicsDevice.Clear(Color.CornflowerBlue);
 
            //スプライトの描画
            spriteBatch.Begin();
 
            spriteBatch.Draw(texture, new Vector2(0.0f, 0.0f), Color.White);
            spriteBatch.Draw(texture, new Vector2(0.0f, 200.0f), Color.Green);
            spriteBatch.Draw(texture, new Vector2(0.0f, 400.0f), new Color(0x80, 0xFF, 0x80));
 
            spriteBatch.End();
 
            // TODO: Add your drawing code here
 
            //継承元クラスのDraw()を呼び出す。
            base.Draw(gameTime);
        }
    }
}
 

タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2009年10月30日 09:31
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。