เริ่มแรกเราก็ต้องมี 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 ความคิดเห็น:
แสดงความคิดเห็น