irpg Community
[GML] มุมองศาและระยะ จากวัตถุ 2 ตำแหน่ง - Printable Version

+- irpg Community (https://irpg.in.th)
+-- Forum: irpg Fabella Game Maker Academia (https://irpg.in.th/forum-29.html)
+--- Forum: The Great Game Maker Library (https://irpg.in.th/forum-31.html)
+--- Thread: [GML] มุมองศาและระยะ จากวัตถุ 2 ตำแหน่ง (/thread-2038.html)



[GML] มุมองศาและระยะ จากวัตถุ 2 ตำแหน่ง - gol-a-khung - 07-24-2014

[GML] มุมองศาและระยะ จากวัตถุ 2 ตำแหน่ง

บทความนี้จะมาเรียนรู้การหามุมองศาและระยะทาง จากวัตถุที่1 ไปยัง วัตถุที่2
ค่าตัวแปรที่จะต้องมี คือ พิกัดแนวแกน x และ y ของวัตถุทั้ง 2
[Image: large17.png]

เรียนรู้เรื่องสูตร
การหาระยะทาง
[Image: Ch5-1.jpg]
จากสูตรด้านบนเราจะแทนค่าโค้ดใน GM ได้ดังนี้
point_distance(x1, y1, x2, y2)

การหามุมองศา
[Image: sin+cos+tan.bmp]
จากสูตรด้านบนเราจะแทนค่าโค้ดได้
point_direction(x1, y1, x2, y2)

การนำไปใช้งาน
1.รู้ระยะจากวัตถุที่1 ไปยัง วัตถุที่2
การรู้ระยะสามารถนำไปประยุคใช้ได้หลายอย่าง เช่น
-หาระยะจากศตรูถึงตัวผู้กล้า
-หาระยะจากโคมไฟเพื่อให้เกิดแสงเงา
-หาระยะเพื่อให้เกิดเหตุการณ์ที่กำหนด ฯลฯ

2.รู้มุมองศาจากวัตถุที่1 ไปยัง วัตถุที่2
สามารถนำไปประยุคใช้ได้ดังนี้ เช่น
-หาทิศทางจากศัตรูไปยังผู้กล้า
-ทิศทางและขอบเขตการมองของศัตรู
-กำหนดทิศทางเเพื่อกำหนดเหตุการณ์ที่กระทำไว้ ฯลฯ
===============================================

โค้ด
point_distance(x1, y1, x2, y2)
point_direction(x1, y1, x2, y2)

x1 คือ พิกัดแนวแกน x ของวัตถุชิ้นที่ 1
y1 คือ พิกัดแนวแกน y ของวัตถุชิ้นที่ 1
x2 คือ พิกัดแนวแกน x ของวัตถุชิ้นที่ 2
y2 คือ พิกัดแนวแกน y ของวัตถุชิ้นที่ 2

เขียนโค้ดไว้ที่ eventsConfusedtep
Code:
dt = point_distance(x, y, mouse_x, mouse_y)

จากโค้ดตัวอย่าง เราจะได้ค่าระยะทางจากตัววัตถุไปยังเมาส์ โดยให้ไปอยู่ในตัวแปร dt

เขียนโค้ดไว้ที่ eventsConfusedtep
Code:
dc = point_direction(x, y, mouse_x, mouse_y)

จากโค้ดตัวอย่าง เราจะได้ค่ามุมองศาจากตัววัตถุไปยังเมาส์ โดยให้ไปอยู่ในตัวแปร dc

ขอบคุณที่เข้ามาชม สงสัยตรงไหน ถามได้ครับ


RE: [GML] มุมองศาและระยะ จากวัตถุ 2 ตำแหน่ง - dreamknight - 07-24-2014

;3

สุดยอดครับ มีฟังก์ชั่นคำนวณให้เลย ไม่ต้องคำนวณเองด้วย แมวหน้าแดง