หน้าเว็บ

Nov 21, 2009

สร้างเกมส์ บทที่ 2 "เด็กเล่นภาพ"

หลังจากเราโหลดโปรแกรมมาแล้วนะครับเราก็จัดการ install ทั้ง 3 ตัวเลยยย

จากนั้นก็เข้า visual C++ 2008 นะครับ จากนั้น กด File > New > project เลยครับผมมม !!

จากนั้นเลือก Dark GDK - Game เลยครับ สามารถทำได้ทั้ง 2 D หรือ 3D หรือผสมกันก็ได้ครับ !!

ช่อง Name : ใส่ชื่อโปรเจคหรือเกมนะครับ

ช่อง Location : คือใส่ที่ที่จะให้ตัวโฟลเดอ โปรเจคนี้อยู่

ติ๊กถูกที่ Create directory for solution ด้วยนะครับ

วู้วววๆ ~~

ในตอนนี้ผมใส่ชื่อโปรเจคว่า test1 นะครับ

เกริ่นมาซะนานเข้าชื่อบทซะที ~~

ในบทนี้เราจะมาดูวิธีการใส่รูปภาพในโปรแกรมเรากัน O__o !!

แต่ก่อนจะทำนั้นเรามาเรียนรู้อะไรนิดๆหน่อยกันก่อน

เมื่อเราสร้างโปรเจคมาเราจะเจอตัวหนังสือภาษาอังกฤษเยอะปะลึ่มฮึ่ม O__o !!!

ยังไม่ต้องตกใจจนเผลอกดออกนะครับ

ส่วนอื่นเรายังไม่ต้องสนใจ ~ เรามาดูข้อความสำคัญๆทีละบรรทัดกันดีกว่า

>>> dbSyncOn ( ); // บรรทัดนี้หมายถึงให้ refresh หน้าจอนะครับ

/******** while ( LoopGDK ( ) )
{
dbSync ( );
} **************/

4 บรรทัดนี้สำคัญมากเลยนะครับ เพราะเวลาเราจะทำอะไรที่ให้มันทำซ้ำไปเรื่อยๆเราควรทำในนี้ หรือจะเขียน loop ขึ้นมาใหม่ก่อนนี้ก็ได้ครับ

เช่นถ้าผมสั่งให้มันเรียกรูปมาแสดงบนหน้าจอซัก 3 รูป ถ้ามันเรียกมาเรื่อยๆแล้วไม่เจอ dbSync(); มันก็ไม่โชว์ภาพให้คุณหลอกกก 555

กลับมาเข้าชื่อบทเราจะมาลองเรียกภาพกันก่อนนะครับ !!

ก่อนอื่นเตรียมภาพมาก่อนเลยยย >w< นำภาพไปใส่ไว้ใน โฟลเดอโปรเจคของคุณเลย เช่นชื่อโฟลเดอ โปรเจคผมคือ test1 ผมก็เข้า test1 และจะเจอกับ โฟลเดอ test1 อีกที เราก็เข้าไปอีกทีงงไหมครับ เช่น ของผมโฟลเดอที่ใส่รูปของผมก็จะอยู่ C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\Test1\Test1 แล้วก็วางรูปเลยจังหวะนี้ !! เสร็จแล้วกลับไปที่โปรแกรม Visual C++ ของเรากัน ใส่บรรทัดนี้ไปข้างล่าง dbSyncOn ( ); dbSyncRate ( 60 ); เลยนะครับก่อนถึง while นะ dbLoadImage ( "ชื่อภาพ" , หมายเลขภาพ ); โว้ว คำสั่งนี้ก็คือการโหลดภาพนั่นเองง ( ยังไม่ได้แสดงผลของภาพนะครับ !! ) เช่น ผมมีภาพ ultraman.png ผมก็ใส่ว่า dbLoadImage ( "ultraman.png" , 1 ); เย้ ทีนี้เราก็จะโหลดรูปมาแล้วนะครับ แล้วการแสดงรูปล่ะ ? นี่เลยครับ !! void dbSprite ( หมายเลขรูปแสดงผล , พิกัด x , พิกัด y , หมายเลขรูป ); อย่าเพิ่งงงหมายเลขรูปแสดงผลกับหมายเลขรูปนะครับ หมายเลขรูปแสดงผลก็คืออันดับน่ะแหละ เราจะให้มันแสดงเป็นอันดับ1 ก็ใส่ 1 ซะ เช่น dbSprite ( 1 , 0 , 0 , 1 ); จากตัวอย่างผมให้มันแสดงเป็นรูปที่ 1 พิกัด (0,0) ก็คือซ้ายบนนะละ และรูปที่แสดงคือรูปที่ 1 แล้วถ้าตอน LoadImage ใส่หมายเลขเป็น 5 ล่ะ ก็เขียนยยังงี้เลยครับ dbSprite ( 1 , 0 , 0 , 5 ); โว้ววว หวังว่าเพื่อนๆคงเข้าใจกันนะครับ >w< จากนั้นกด Ctrl+F5 ลองดูเลยครับ เป็นไง ภาพปรากฏเด่นชัด งั้นไว้มาเจอกัน บทหน้านะครับบบบ >w<

ป.ล. ลองอ่าน help ของ Dark GDK ดูบ่อยๆนะครับบจะรู้ฟังก์ชันดีๆอีกเยอะเลย o__O !!