Hardworker game studio

Stream!

บทที่ 3 การเอาภาพมาแสดงผล 2D
date 2011-09-07 10:09:05
วันนี้เรามาลองเล่น XNA กันแบบ basic ที่สุด โดยการเอารูปภาพที่เราทำมาแสดงผลใน XNA


1. อันดับแรกให้เราเตรียมรูปภาพกราฟิก 2 รูปใช้โปรแกรมตกแต่งภาพทำดูง่ายๆก็ได้ รูป 1 เป็นแบคกราวรูป 2 เป็นรูปยานแบบง่าย ข้างหลังโปรงใสแล้วเซฟเป็น .png ก็ได้ หรือถ้าไม่ซีเรียสก็ช่างมัน




2. จากนั้น Import content เอารูป2 รูปนี้เข้ามา การ import content สอนไปแล้วในบทที่ 2 หวังว่าคงไม่ลืมนะครับ

3. ประกาศตัวแปรคลาส Texture2D สำหรับเก็บค่าภาพทั้งสองตรงส่วนบนสุดของคลาส game1.cs
*** game1.cs ? ก็ที่เราเห็นอยู่นั้นแหละเรียกว่า class game1


ประกาศตัวแปร BG และ Air ชนิด Texture2D

   public class Game1 : Microsoft.Xna.Framework.Game
    {
        GraphicsDeviceManager graphics;
        SpriteBatch spriteBatch;

        Texture2D BG;
        Texture2D Air;
      

        public Game1()
        {
            graphics = new GraphicsDeviceManager(this);
            Content.RootDirectory = "Content";
        }



4. จากนั้นตรงส่วน Loadcontent เขียนคำสั่งให้สองตัวแปรนี้ไปรับค่า ไฟล์รูป 2 รูปที่เราอิมพอทเข้ามา

protected override void LoadContent()
        {
          
            spriteBatch = new SpriteBatch(GraphicsDevice);

            BG = Content.Load<Texture2D>("spacebg");
            Air = Content.Load<Texture2D>("air");
        }



5. จากนั้นตรงส่วนแสดงผล Draw ทดสอบการวาด เราเพิ่มคำสั่ง spriteBatch.Begin(); แล้วจากนั้นก็ สั่งวาดด้วยคำสั่ง spriteBatch.Draw(ตัวแปรภาพ, ตำแหน่ง,สี); แล้วไม่ว่าจะวาดอะไรลงไป อะไรที่วาดก่อนจะอยู่ layer หลัง ไล่ตามลำดับขึ้นมา จากนั้นก็ spriteBatch.End(); เป็นการปิด เสร็จสิ้นการวาดแล้ว

    
        protected override void Draw(GameTime gameTime)
        {
            GraphicsDevice.Clear(Color.CornflowerBlue);

            spriteBatch.Begin();

            spriteBatch.Draw(BG, Vector2.Zero, Color.White);
            spriteBatch.Draw(Air, new Vector2(100, 200), Color.White);

            spriteBatch.End();


            base.Draw(gameTime);
        }



กด F5 ดูภาพที่ได้ควรออกมาเป็นประมาณนี้






 
 
501 Share
Untitled Document
Please login or register
Hardworker : 2011-09-08 05:09:06
ถ้างง หรือไม่เข้าใจก็คอมเม้นได้นะ ผมจะได้ปรับ

Hardworker : 2011-08-19 08:08:07
้้

Right feed