|
|||||||||||||||||||||||||||||||||
|
||||||||||||||||
| 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 ดูภาพที่ได้ควรออกมาเป็นประมาณนี้ ![]() |
||||||||||||||||
|
||||||||||||||||


Stream!













