hataku399   05-11-2016, 09:50 PM
#1
ตามหัวข้อกระทู้เลยครับ : อยากทราบวิธีทำระบบเวลาครับ
-มีขึ้นในเกมส์ แล้วก็ หยุดเวลาคุยกับอีเว้นท์ หรือ ทำอะไรสักอย่างครับ
ปล.คล้ายๆเกมส์stardew valleyน่ะครับ[/font]
XthemeCore   05-12-2016, 06:17 AM
#2
ก็ให้มีตัวแปรสองตัวครับ คือชั่วโมงกับนาที (ในที่นี้จะใช้ตัวแปร 1 กับ 2)
[Image: qa_00_00.jpg]

จากนั้นก็สร้างเหตุการณ์ที่จะไปกำหนดเงื่อนไขของเวลากันที่ Common Event (เหตุการณ์ทั่วไป)
ในที่นี่เป็นเหตุการณ์ชื่อ Time Mechanic (กลไลเวลา) มีรายละเอียดดังภาพ
[Image: qa_00_01.jpg]

สามารถปรับความเร็วในการนับได้ที่ Wait และ ปรับจำนวนการนับต่อครั้งได้ (ในภาพจะเป็นนับ 1 ครั้งต่อ 20 frames)
ถ้าเราอยากได้แบบ Harvest Moon หรือ Stardew Valley ก็สมมติไปว่าทุกๆ 1 นาทีในโลกจริงจะเพิ่ม 10 นาทีในเกม

RMXP ปกติจะทำงานที่ 30 fps ดังนั้น 1 นาที ก็คือ 60 seconds x 30 frames/seconds = 1800 frames
เราก็ตั้งเป็น Wait 1800 frame(s) กับ Minutes += 10 เท่านี้ก็เรียบร้อย
[Image: qa_00_02.jpg]

หมายเหตุ: เนื่องจากคำสั่ง Wait ใน RMXP รองรับเลขได้สูงสุด 999 จึงต้องใช้เป็น 900 x 2 = 1800 frames

สุดท้ายอย่าลืมสร้าง Event ที่จะเรียกใช้ระบบกลไกเวลาใน Map ด้วย
[Image: qa_00_03.jpg]


ลองทดสอบดู (สามารถดูค่าตัวแปรได้โดยกด F9 ขณะทดสอบเกม)
Ivan_GilDong   05-12-2016, 09:21 PM
#3
ถ้าเป็นของ VX Ace 60 เฟรม = 1 วินาที ก็ต้องเปลี่ยนตรง Wait สินะครับ

[Image: NvcQbcH.jpg]
hataku399   05-14-2016, 08:30 PM
#4
อยากทราบวิธีที่ให้มันขึ้นมาหน้าจอด้วย
  
Users browsing this thread: 1 Guest(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.