วิธีปรับให้ใช้ปุ่ม WASD ในการเดินแทน ปุ่มทิศทาง - 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: วิธีปรับให้ใช้ปุ่ม WASD ในการเดินแทน ปุ่มทิศทาง (/thread-2841.html) |
วิธีปรับให้ใช้ปุ่ม WASD ในการเดินแทน ปุ่มทิศทาง - XthemeCore - 05-01-2016 วิธีการแก้ Key map ของ RMMV ง่ายกว่าที่หลายๆท่านคิด เนื่องจากเกมที่สร้างด้วย RMMV จะใช้ภาษา JavaScript ในการพัฒนา ซึ่งทำให้ Code ทั้งหมดของเกมถูกเปิดเผย (ไม่เหมือนรุ่นก่อนๆที่เป็นภาษา Ruby จะมีโค้ดบางส่วนเขียนด้วย C++ และถูกซ่อนไว้ใน DLL) ทีนี้เรามาดูกันว่าจะทำยังไง เนื่องด้วยภาษา JavaScript ออกแบบมาเพื่อใช้พัฒนาเว็บแอพพลิเคชั่นเป็นหลัก ดังนั้นจึงอิงมาตราฐานตาม World Wide Web Consortium (W3C) ดังนั้นในส่วนของ KeyCode เราสามารถดูได้จากเว็บนี้เลย https://www.w3.org/2002/09/tests/keys.html ในเว็บที่ให้ไว้ข้างต้นทดลองกดคีย์ดูครับ มันจะขึ้น keyCode มา ซึ่งเราจะนำมาใช้ใน RMMV กัน ขั้นตอนการแก้ไข ปุ่มทิศทางให้เป็น WASD แทน ปุ่มลูกศรทิศทาง 1. เข้าไปในเว็บไซต์ W3C ที่ให้ไว้ข้างบน ทดลองกดปุ่มแล้วเก็บ keyCode มา (เก็บตรง keydown นะครับ) ในที่นี้ผมจะได้ keyCode มาดังนี้
2. เราจะไปแก้โค้ดกันแล้ว เปิดโฟลเดอร์เกมของเราขึ้นมา แล้วไปที่โฟลเดอร์ js จากนั้นเปิดไฟล์ rpg_core.js ขึ้นมา ด้วย Text Editor อะไรก็ได้ (ผมใช้ Atom) 3.จากนั้นให้ search หา "Input.keyMapper" (บรรทัดที่ 2251) 4.จะเห็นว่าที่โค้ดบรรทัดที่ 2252 จะเห็นว่าเป็น 9: 'tab' ตรงนี้หลายๆท่านคงพอเดาออกแล้ว เลข 9 คือ keyCode นั่นเอง ทีนี้เราก็เพียงแค่ไล่แก้ keyCode เอาก็พอครับ ในที่นี้ผมได้ทำการแก้ keyCode ดังนี้
(สำหรับท่านที่ยังงงๆอยู่ให้หาคีย์ที่ต้องการแก้ครับ เช่นต้องการแก้ปุ่มซ้าย ก็หา 'left' เดิมทีมันจะเป็น 37: 'left' ก็แก้เป็น 65: 'left' ซึ่งจะเป็นปุ่ม A แทน เป็นต้นครับ ) 5. ทำการบันทึกไฟล์ จากนั้นทดลองเล่นดูจะพบว่าการควบคุมทิศทางเปลี่ยนมาเป็น WASD แล้ว 6.หมายเหตุ ในกรณีที่เราต้องการให้สามารถควบคุมตัวละครได้โดยใช้ได้ทั้งปุ่ม WASD และ ปุ่มลูกศรพร้อมกัน สามารถทำได้โดยการ map keyCode ให้ตรงกันครับ ดังภาพนี้ เพียงเท่านี้เราก็สามารถควบคุมตัวละครได้จากทั้งปุ่มทิศทาง และปุ่ม WASD แล้ว แล้วพบกันใหม่โอกาสหน้านะครับ RE: วิธีปรับให้ใช้ปุ่ม WASD ในการเดินแทน ปุ่มทิศทาง - TheEnds - 05-01-2016 Ace จะใช้ได้มั้ยเนี่ย RE: วิธีปรับให้ใช้ปุ่ม WASD ในการเดินแทน ปุ่มทิศทาง - XthemeCore - 05-01-2016 (05-01-2016, 11:54 AM)TheEnds Wrote: Ace จะใช้ได้มั้ยเนี่ย คนละภาษากันเลยครับ รูปแบบการเขียนส่วน Input นี้ก็แตกต่างกันค่อนข้างมากด้วย (มันไม่ได้มี keyMapping ที่สวยงามแบบนี้มาให้เลย แต่จำได้ว่ามีคนเขียน Script คล้ายๆกันใน Ace นะ) RE: วิธีปรับให้ใช้ปุ่ม WASD ในการเดินแทน ปุ่มทิศทาง - TheEnds - 05-01-2016 (05-01-2016, 11:56 AM)XthemeCore Wrote:งั้นสอนผมหน่อยได้มั้ยครับ Ace อะ(05-01-2016, 11:54 AM)TheEnds Wrote: Ace จะใช้ได้มั้ยเนี่ย RE: วิธีปรับให้ใช้ปุ่ม WASD ในการเดินแทน ปุ่มทิศทาง - maya - 05-01-2016 (05-01-2016, 12:06 PM)TheEnds Wrote:(05-01-2016, 11:56 AM)XthemeCore Wrote:งั้นสอนผมหน่อยได้มั้ยครับ Ace อะ(05-01-2016, 11:54 AM)TheEnds Wrote: Ace จะใช้ได้มั้ยเนี่ย มีสคริปนี้รู้สึกจะตั้งให้ใช้ WASD เดินได้นะคะ https://falcaorgss.wordpress.com/2012/09/17/mouse-system-buttons-update-1-5/ |