วันพฤหัสบดีที่ 5 พฤษภาคม พ.ศ. 2554

XNA 4.0 Tutorial Chapter 4 "Paint Game"



*0* โอ้วเยียย วันนี้ขยัน เกิดปิ้งไอเดียขึ้นมา ว่า แรกๆ หัดทำเกมง่ายๆดีกว่า ก็เลยคิดจะทำ paint เลียนแบบ ของ microsoft =0= 5555

เริ่มแรกเราก็ต้องมี mouse ที่เป็นรูปดินสอเสียก่อน เพื่อให้ได้บรรยากาศ *0* ข้าพเจ้าเลยตั้งใจ ขออากู๋มาอันนึง

แท่แด้นนน ;

อีกอันที่ต้องเตรียมคือ เส้นนั่นเอง
ข้าใช้เปน จุดๆ สีดำนะค้าบ แบบนี้ =0=



มาถึงการเขียนโปรแกรม xna สุดแสนจะทรหดยืดยาวยาวยืดแล้ว มันต้่องมีอะไรบ้างในโปรแกรม *0*

ขั้นแรกก็ new project ตั้งชื่อตามใจตัวเองมาก่อนนะครับ 1 อัน แล้วก็เพิ่ม content ลงไปทางด้านขวานะ เพิ่ม pencil กะ dot ลงไปปปปปป

แล้วก็มากำหนดตัวแปรกัน กำหนดตามนี้เลย *0* เดวจะค่อยๆอธิบายนะว่าตัวไหนเอาไว้ใช้ทำอะไร



ที่แปลกๆโผล่มาเลย คือ int[ , ] table = new int [1100,800];
นี่คือการสร้าง array 2 มิติขนาด 1100x800 เพื่อเก็บค่าpixel จุดในหน้าจอของเรานั่นเอง

เสร็จแล้วเราก็ลงมา ตรง method Load content เพื่อที่จะโหลดภาพมาใช้ใน โปรแกรมของเรากันนน *0*

ตามนี้เลยจ้า




ตอนนี้เราก็มาที่ method update กันก่อนน มันมีอะไรบ้าง ไปดูกัน !!


mousenow = Mouse.GetState();
เป็นการบอกว่า ให้ ตัวแปร mousenow เก็บสถานะของ mouse ของเราไว้นั่นเอง *0*
PosMouse เป็นตัวแปรเก็บตำแหน่งปัจจุบันของ mouse เราไว้ =0=

มาถึง คำสั่ง if นี้ หมายถึงว่า ถ้าปุ่มเมาส์ซ้ายของเรา มีการกดอยู่ละก็ ให้ table[ตำแหน่งเมาส์X,ตำแหน่งเมาส์Y] =1; นั่นเอง
แต่บางคนก็อาจจะงงว่า if ยาวๆก่อนกำหนดค่าคือะไร นั่นก็คือการเช็คว่้า ให้ เมาส์อยู่ในหน้าจอของเราถึงค่อยทำการกำหนดค่า table ไม่งั้นมันจะเกิน array อาจทำให้เกิดอาการ error ขึ้นได้ = =""

มาถึง method draw กันแล้วนะครับ
มีตามนี้เลย



บรรทัด spritemouse.Draw(mouse, PosMouse, Color.White); นี้ก็หมายถึงว่า ให้เราdraw รูป mouse หรือรูป ดินสอ ในตำแหน่ง PosMouse หรือก็คือ ให้ปรากฏรูป ดินสอในตำแหน่งของ mouse เรานั่นเองงง ชะเอ่งเองง =0=

แล้วก็ ใน for2 ชั้นนั้นหมายถึงว่า ให้วนดูในหน้าจอเรา ถ้าตรงไหนเป็นตำแหน่งที่เราคลิก ซึ่ง ก็คือ เป็น 1 ให้วาดภาพจุดลงบนนั้นซะ !!! เสร็จแล้ววว กด F5 รัน ก็จะได้ผลลัพท์ออกมาแบบนี้ *0*


แทแทแด้นนน

จบไปแล้วว =0= อีก chapter มีข้อสงสัยอะไร โพสถามได้นะครับ ถ้าเข้ามาเห็นก็จะตอบให้คร้าบผม *0*

0 ความคิดเห็น:

แสดงความคิดเห็น