Draw กับ Update
posted on 17 Dec 2007 23:37 by xnanoob in Tutorialsสวัสดีค่า
วันนี้มาดูความแตกต่างระหว่าง method Draw กับ method Update นะค่ะ
-
method Draw จะเอาไว้แสดงผล
-
method Update จะเอาไว้ปรับค่าหรือต่างๆ
"แต่ก้อยังงงว่า ถ้าจะเอาการแสดงผลไปไว้ใน method Update ได้ไหม?"
ถ้าไงเดี๋ยวจะลองสลับดูนะเอาการแสดงผลไปไว้ใน method Update พิจารณาจากภาพที่ 1
เวลาเอาโค้ดแสดงรูปไปแสดงใน method Update จะเห็นว่าไม่มีอะไรเกิดขึ้น
เหตุผลมาจาก Method Draw ก้อโดน Call อยู่ตลอดเวลาเหมือนกันนะ
(โดน call จนกระทั้งโปรแกรม Terminate) ซึ่งใน Draw มีการ clear ค่าอยู่
พิจารณาจากใน method Draw มีโค้ดในการ Clear หน้าจออยู่
-
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
ภาพที่ 1 โค้ดแสดงผลใน method Update
ภายในรูปที่ 1 สี่เหลี่ยมด้านขวามือ ในจอสีฟ้า ไม่มีไรแสดงเลย
หลังจากนั้นให้ลอง Comment Code ใน method Draw
พิจาณาหลังจาก comment แสดงผลในภาพที่ 2
-
//graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
ภาพที่ 2 แสดงผลการทำงานของโปรแกรม หลังจาก comment code
ปรากฎรูปน้องเต้ยขึ้นมานะค่ะ
แบบนี้แสดงว่า เราสามารถแสดงผลใน method update ได้เหรอ ??
จะว่าได้ก้อได้นะ แต่ถ้าโปรแกรมเกิดซับซ้อนขึ้นมา
ต้องมีการแสดงผลมากกว่า 1 อย่างหรืออื่นๆ
เช่นต้องการเลื่อนรูปภาพน้องเต้ย
ถ้าไงลองดูโค้ดในภาพที่ 3 ... พิจารณาโค้ดในภาพที่ 3 จะมีการปรับค่า vector ให้เปลี่ยนไป
คือเลื่อนรูปนั้นเอง...
ดังนั้นจะมีปัญหาในการ Clear ค่า
Display ที่แสดงจะค้างอยู่ เนื่องจากไม่การการ Clear ค่าตำแหน่งรูปเก่า
(Clear นี้อยู่ใน method draw ที่เรา comment ไปนั้นเอง)
พื้นที่สีขาว ข้างๆ น้องเต้ย คือปัญหา ที่เกิดขึ้น ไม่ได้ clear ค่า
สรุป ก้อคือ .. ถ้าอยากจะวาดไรก้อใส่ใน Draw น่าจะโอเคกว่า
.. ถ้าอยากจะปรับค่าอะไร ก้อใส่ใน Update
(มั่ง)
จบแระค่ะ
บายค่ะ .... งุงิ งุงิ









#1 By T!D on 2007-12-18 09:41