Copyright © All rights reserved | This template is made with by Colorlib

Next Big Event:

บทความในหมวด

DARKBASIC TUTORIALS

Darkbasic Tutorials

การแสดงเมนูย่อยด้วยการคลิ๊กเมาส์

2010-06-27 Games 2,488

ตัวอย่างโปรแกรมดังนี้

 

การแสดงเมนูย่อยด้วยการคลิ๊กเมาส์

 

ผลที่ได้จากโปรแกรมนี้คือ เมื่อ Sprite ของ MouseCol มาชนกับ B_status และหากมีการ Click เมาส์ซ้าย โปรแกรมก็จะทำการวาง sprite i_status ที่พิกัด 41,187

 

และสิ่งที่พบก็คือ

 

1. เมื่อเลิกคลิ๊กเมาส์หรือเลื่อนเมาส์จน MouseCol ไม่ชนกับ B_status โปรแกรมก็จะไม่วางภาพ i_status ให้กับเรา เนื่องจากไม่ตรงกับเงื่อนไขที่วางไว้

 

2. เมื่อคลิ๊กเมาส์ค้างไว้แล้วเลื่อนเมาส์ จน MouseCol ชนกับ B_status โปรแกรมจะวางภาพ i_status ให้เลย และถ้าเลื่อนเมาส์ไปชนกับปุ่มอื่น มันก็จะทำงานต่อเนื่องกัน ซึ่งหลายๆกรณีเราต้องการให้มันทำงานค้างไว้หรือทำงานเพียงครั้งเดียว

 

ตัวอย่างการใช้ตัวแปรมาช่วยในการส่งค่าสำหรับการเรียกเมนูย่อยและเช็คการคลิ๊กของ Mouse

 

การแสดงเมนูย่อยด้วยการคลิ๊กเมาส์

 

ในส่วนของ Main Loop เราใส่ ตัวเช็คการคลิ๊กของเมาส์  if MouseClick( )=0 ความหมายคือ เมื่อ mouse ไม่ได้ถูกคลิ๊กให้ส่งค่า ChkClick=0

 

จากนั้นในส่วนของ MainInterface ตรงการคลิ๊กเพิ่ม and ChkClick=0 เข้าไป และเมื่อคลิ๊กแล้วให้ส่งค่า ChkClick=1 จะทำให้โปรแกรมทำงานเพียงแค่ครั้งเดียวจนกว่าเราจะปล่อยเมาส์ค่า ChkClick ก็จะกลับมาเป็น 0

 

จากนั้นกำหนดตัวแปร ShowStatus ใช้ในการช่วยส่งค่าไปสู่การเรียกภาพ i_status ซึ่งค่าเริ่มต้นจะเป็น 0 และเมื่อทำการคลิ๊กเมาส์ค่า ShowStatus จะกลายเป็น 1 โดยที่โปรแกรมจะคำนวนค่าทางด้านขวาของสมการดังนี้



ShowStatus (ใหม่) = ShowStatus ( ปัจจุบัน ) + 1

 

การแสดงเมนูย่อยด้วยการคลิ๊กเมาส์

 

สร้าง Procedure ใหม่ขึ้นมา และอย่าลืมว่า Procedure ใหม่นี้ ต้องถูกเรียกใช้จากใน Main Loop ด้วย โดยการไปเพิ่ม Gosub Menu_Status นั้นเอง

 

ส่วนใน Procedure Menu_Status จะเห็นได้ว่าเรานำค่า ShowStatus มาใช้คือเมื่อ ShowStatus = 1 ก็จะทำการวางภาพ i_status และ P_heroS

 

ส่วน if อันแรกเป็นการทำให้ ShowStatus คืนค่ากลับเป็น 0 เมื่อค่า ShowStatus > 1 ดังนั้นเมื่อเราคลิ๊กที่ปุ่ม status ซ้ำอีกครั้งค่า ShowStatus ก็จะกลายเป็น 0 นั่นเอง และภาพทั้ง 2 ก็จะหายไป

 

การแสดงเมนูย่อยด้วยการคลิ๊กเมาส์


| Darkbasic Tutorials

เข้าชมแล้ว 3,582,208 ครั้ง | ทั้งเว็บออนไลน์   1 ท่าน | หน้านี้ออนไลน์   1 ท่าน
Page generated in 0.009 seconds ! ( 13 query)