Sufficiency Economy
Group Blog
 
All blogs
 
XNA : เบื้องต้น ตอน1

พื้นฐานการเขียนโปรแกรมเกมบน Xna สามารถแบ่งเป็นส่วนๆดังนี้
1. สร้าง Window
2. วาดภาพลง Window : Sprite
3. การควบคุม Sprite
4. ตรวจสอบการกด keyboard หรือ mouse
5. ตรวจสอบการชนกัน
6. เสียงประกอบ

เริ่มจากข้อที่1 สร้าง Windows
อันนี้ง่ายมากๆๆๆๆ ก็ เปิด Visual C# เลือกเมนู File-> new Project แล้ว
เลือก Project Type แบบ Xna และเลือก Template แบบ window game 3.0 แล้วกด ok ตามรูป XNA จะก็จะสร้าง Code พื้นฐานให้เพื่อเราจะได้ปรับแต่งต่อไป

ถ้ากดปุ่ม Start Debugging ก็ได้ window สวยๆ ขึ้นมา แต่ไม่เหมือน
windows ทั่วไปเพราะเป็น window ที่พร้อมใช้ DirectX นั้นเอง สังเกตโดยถ้าเอา Mouse ไปผ่านบน window ภาพ mouse จะหายไป ? เพราะเรายังไม่ได้เขียน code จัดการเกี่ยวกับ mouse ด้วยมัง?

ต่อไปมีไฟล์อะไรบ้างที่น่าสนใจ เบื้องต้นคือไฟล์ Game1.cs ซึ่งเราจะแก้ไขcode ในส่วนนี้

แล้วในไฟล์ Game1.cs มี Class, Properties, Method อะไรที่น่าสนใจ
ก็นี้เลย
public class Game1 : Microsoft.Xna.Framework.Game
ก็ตอนนี้มีแค่ class เดียวนี้หว่า กิกิ
งั้นมาดูว่ามีการสร้าง object อะไรบ้างใน class Game1
GraphicsDeviceManager graphics; สำหรับจัดการเกี่ยวกับ window เช่นขนาดwindow ดังคำสั่งนี้
graphics.PreferredBackBufferWidth = 400;
graphics.PreferredBackBufferHeight = 400;
graphics.ApplyChanges();


SpriteBatch spriteBatch; สำหรับจัดการเกี่ยวกับ Sprite เช่นวาดรูป ดังคำสั่งนี้
spriteBatch.Draw(mySprite1.texture, mySprite1.position, Color.White);
ซึ่งต้องใช้ parameter สามตัวคือ ข้อมูลรูปสองมิติ: Texture2D , ข้อมูลตำแหน่งในแนวแกน X,Y: Vector2 และสุดท้ายคือสีของพื้นsprite (ไม่ใช่สีพื้นของ window นะ)
และการวาดรูปนี้ต้องอยู่ระหว่างคำสั่ง
spriteBatch.Begin(); และ
...
spriteBatch.End();
ซึ่งเราสามารถกำหนดการวาดแบบ AlphaBlend ได้ด้วยโดยใส่ตัวแปรที่คำสั่งตามนี้
spriteBatch.Begin(SpriteBlendMode.AlphaBlend);

และเพื่อความง่ายจึงมีการสร้าง class clsSprite เพื่อง่ายต่อการกำหนดค่าต่างๆ ของ sprite ร่วมถึงการ load รูปภาพจาก content มาใช้งานด้วย
วันนี้เอาแค่นี้ก่อน แล้วจะมาต่อไป



Create Date : 24 พฤศจิกายน 2551
Last Update : 24 พฤศจิกายน 2551 20:39:12 น. 1 comments
Counter : 949 Pageviews.

 
ไม่ต่อแล้วหรอคะ รออ่านอยู่นะ... ^_^


โดย: thom IP: 125.27.44.138 วันที่: 18 มิถุนายน 2553 เวลา:16:17:34 น.  

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 

wink99_th
Location :
พิษณุโลก Thailand

[Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed
Smember
ผู้ติดตามบล็อก : 8 คน [?]




New Comments
Friends' blogs
[Add wink99_th's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.