ประยุก ศัตรูตรวจจับเรา เวอร์ชั่นEvent ได้ทั้งXPและVX - Printable Version +- irpg Community (https://irpg.in.th) +-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html) +--- Forum: RPG Maker Engine School (https://irpg.in.th/forum-7.html) +--- Thread: ประยุก ศัตรูตรวจจับเรา เวอร์ชั่นEvent ได้ทั้งXPและVX (/thread-1811.html) |
ประยุก ศัตรูตรวจจับเรา เวอร์ชั่นEvent ได้ทั้งXPและVX - freemancer - 04-24-2014 อันนี้เปนการประยุตก์คำสั่งเคลื่อนย้ายเหตุการณ์นะครับซึ่งสามารถนำมาใช้แทนการมองของศัตรูหรือใช้เป็นการยิงกระสุนของศัตรูได้มาดูวิธีทำกันครับ (การทำสคริปอาจง่ายว่า แต่ผมไม่เป็นสคริปจึงนึกวิธีนี้ออกมาเผื่อคนหัวอกเดียวกัน) รูปที่1 1.จากรูปแรกสิ่งที่ต้องเตรียมมี4eventตามรูป ตัวใสๆคืออันซ้ายล่างผมเอาไว้เก็บข้อมูลฮีโร่ ส่วนแฟรี่น้อยที่อยู่ขวาล่างจิงๆต้องทำเป็นใสๆ แต่กลัวเพื่อนๆน้องๆ และพี่(ถ้ามีคนอายุเยอะกว่าผมอยุ่อะนะ- -) กลัวจะมองไม่เห็นกันเลยทำเป็นแฟรี่น้อยน่ารักไว้ให้เห็นตอนตรวจจับ มาเริ่มขั้นตอนที่สองดีกว่า รูปที่2 2.ที่รูปeventใสด้านซ้ายล่างนี้ตั้งค่าeventตามรูปแล้ว ส่วนคำสั่งคือให้บันทึกพิกัดXYของฮีโร่ตลอดเวลาและตรวจว่า มันจะโดนตรวจจับจากeventศัตรูเมื่อไหร่ก็ให้เกิดเหตุการณ์เช่นเข้าฉากต่อสู้ หรือโดนยิงหรือต่างๆนาๆ แต่ผมจะใช้การโชวข้อความเพื่อเป็นผลลัพ หน้าที่มีแค่นี้เองของตัวนี้ บันทึกพิกัด เช็คว่าโดนรึยัง และเกิดเหตุเมื่อโดน รูปที่3 3.ต่อมาeventตัวศัตรูเซทค่าตามนั้น และใส่คำสั่งว่า บันทึกพิกัดตัวเองลงตัวแปรXY ทั้งสองตัวแยกไว้ตลอดเวลา แล้วก็สร้างตัวแปรมาเพื่อเก็บข้อมูลว่า มันจะหันหน้าไปทางไหน มีวิธีเช็คการหันตัวแปรเป็นค่าตัวเลขอันนี้ผมจำไม่ได้ว่ามันหันหน้าทางไหนเป็นเลขไรบ้าง ผมเลยสร้างมันมาใหม่เลย ใช้ตัวแปร1ตัวเพื่อเก็บค่าการหันหน้า หน้าที่เจ้ากระดูกมีแค่นี้ บันทึกพิกัดตัวเอง หันหน้าทางไหนให้บอกกล่าว แค่นั้นครับ รูปที่4 4.มาถึงตัวตรวจจับ ที่ใส่รูปแฟรี่น้อยลงไปเพื่อให้เห็นชัดๆตอนกำลังตรวจจับ ตั้งค่าeventตามนั้น จิงๆก็ตั้งเหมือนตัวอื่นๆทุกตัวนั่นแหละ ส่วนคำสั่งก็คือ สร้างตัวแปรXYขึ้นมาอีกชุด แต่ให้เท่ากับตัวEventศัตรูเจ้าตัวกระดูกเมื่อกี้ เพราะเวลาแฟรี่ตัวนี้ไปไหนจะได้คอยเกาะเจ้าตัวกระดูกไป แต่เกาะเสร็จต้องบินไปตามที่กระดูกหันหน้า ดังนั้น ชุดคำสั่งคือเช็คตัวแปรที่เก็บเลขของโครงกระดูกที่หันหน้า ยกตัวอย่างในรูปหันขึ้นด้านบน ผมจะใช้วิธีการเคลื่อนที่แบบวนซ้ำๆจนครบ4ครั้งเลยสร้างตัวแปรLoop numberขึ้นมา วนหนึ่งครั้งก็ลดลงไปจนเหลือ0 ในการวนแต่ละครั้งของการหันหน้าขึ้น ต้องนำค่าตัวแปรXYที่สร้างใหม่มาเพิ่มลดค่าก่อน จากรูป หันขึ้นบน ต้องลบค่าแกนX-1 แล้วย้ายเหตุการแฟรรี่น้อยไปด้านหน้าของโครงกระดูก ทุกๆครั้งที่วนเหตุการณใน label1นี้ มันจะขยับขึ้นตามแกนXที่ลบ แล้วเคลื่อนย้ายตัวแฟรี่ด้วยคำสั่งเคลื่อนย้ายเหตุการณ์(บางคนอาจสงสัยว่าทำไมผมไม่ใช้คำสั่งให้แฟรี่เดิน เพราะผมเคยติดบัคว่าเดินไปชนอีเวนท์โปร่งใสอื่นๆแล้วมันเดินไปต่อไม่ได้ทั้งๆที่โปร่งใส ผมเลยตัดปัญหาใช้คำสั่งเคลื่อนย้าย จิงๆก็สามารถเคลื่อนย้ายวนเป็นวงกลมได้เลยแว๊บๆ)คำสั่งมีแค่นี้ครับเฉพาะ หันขึ้นด้านบน ถ้าจะหันด้านอื่นก็แค่ก็อปตัวแรกมาวางครบ4ชุด ขึ้นลงซ้ายขวาแล้วแก้ค่าXYกับการตรวจเช็คตัวแปรการหันหน้าตามรูปที่5 รูปที่5 ตัวอย่างการก็อปคำสั่งมาแก้ไขครับ รูปที่6 มาเริ่มทดสอบเกมกัน ตอนแรกของรูปนี้ผมยังไม่อยู่ในสายตาของเจ้าโครงกระดูก รูปที่7 พอผมอยู่ในสายตาของมันก็มีข้อความขึ้นว่าโดนเจอแล้ว ตามรูปภาพที่2ใส่คำสั่งไว้ อันนี้เป็นการยกตัวอย่างพื้นๆของคนที่จะใช้อีเวนท์นะครับ ซึ่งเอาวิธีนี้ไปใช้กับRMเวอชั่นอื่นๆก็ได้ ไม่ทราบเหมือนกันว่ามีคนอื่นเคยคิดขึ้นก่อนหรือยังเพราะอันนี้ผมคิดเองโดยส่วนตัวนะครับ ดีร้ายประการใดโปรดอภัยด้วย ขอบคุณครับ RE: ประยุก ศัตรูตรวจจับเรา เวอร์ชั่นEvent ได้ทั้งXPและVX - TheMoo2000 - 04-24-2014 ถ้าประยุกต์ต่ออีกนิด ถ้ามองข้างหน้าแล้วปกติจะมองได้ 120 องศา ก็ตรวจ ข้างหน้าทั้งหมดเลยก็ได้ (อาจจะมองหางตา อิอิ) ยังไงก็ดีมากฮะ RE: ประยุก ศัตรูตรวจจับเรา เวอร์ชั่นEvent ได้ทั้งXPและVX - Mysticphoenix - 04-25-2014 ระบบนี้ใช้ได้ดีเลยครับ สำหรับคนที่จะนำไปใช้ อย่าลืมคำนึงไว้ว่า เวลาจะสร้างแม็พใหม่ ต้องเผื่อ EventID ไว้ด้วยตามจำนวนที่ระบบรองรับด้วยนะครับ เพราะทุกแม็พ event ต้องมี EventID เดียวกันตามแม็พต้นฉบับ ผมอยากฝากผู้พัฒนาครับ ฝากเอาโค้ดไปไว้ใน Common Event (ในฐานข้อมูล) แล้วเรียกใช้ Common Event เอา เพราะเวลาแก้จะได้แก้ที่เดียว ไม่ต้องไปไล่แก้ทุกแม็พครับ |