[RMMZ] เก็บตำแหน่งเมาส์ไว้ในตัวแปร - Printable Version +- irpg Community (https://irpg.in.th) +-- Forum: irpg Fabella RPG Maker Academia (https://irpg.in.th/forum-4.html) +--- Forum: RGSS and JS Showcase (https://irpg.in.th/forum-26.html) +--- Thread: [RMMZ] เก็บตำแหน่งเมาส์ไว้ในตัวแปร (/thread-3669.html) |
[RMMZ] เก็บตำแหน่งเมาส์ไว้ในตัวแปร - XthemeCore - 12-26-2022 เราสามารถเก็บตำแหน่งเมาส์ไว้ในตัวแปร และ สามารถแปลงตำแหน่งดังกล่าวไปเป็นตำแหน่งในแผนที่ได้ด้วย โดยใช้ Event ตามด้านล่างนี้ (ตั้ง Event เป็น Parallel เพื่อรับอัพเดทค่าทุกเฟรม) ระบบนี้สามารถนำไปประยุกต์ใช้ในการสร้างเกมได้หลายแนว เช่น เกมสร้างเมือง หรือเกม RTS ที่ต้องควบคุมยูนิตไปยังจุดต่างๆบนแผนที่ Code: TouchInput.x ตัวอย่างที่ 1: ใช้ในการทำให้ตัวละครเดินไปยังจุดที่คลิก (ขอบคุณเคล็ดลับจากท่าน Madon Nopora) สร้าง Event ที่จะใช้เดินไปยังตำแแหน่งที่คลิก แล้วตั้งเป็น Parallel ใส่โค้ดในการสั่ง Move Route Event ดังนี้ (ตัวแปร 3 กับ 4 ใช้ต่อเนื่องมาจากด้านบน) Code: this.moveStraight(this.findDirectionTo($gameVariables.value(3), $gameVariables.value(4))); เนื่องจาก Search Limit มีระยะจำกัด เราจึงจำเป็นต้องแก้ไขตัวเอนจิ้นเล็กน้อยเพื่อให้หาเส้นทางได้ดีขึ้น (ปรับตามความเหมาะสม) Code: Game_Character.prototype.searchLimit = function() { ตัวอย่างที่ 2: ใช้ในการ Spawn Event ในแผนที่ (เหมือนระบบสร้างสิ่งก่อสร้าง) สร้าง Event ที่จะใช้เป็น Spawner แล้วตั้งเป็น Parallel (Event นี้ใช้ในการ Spawn Event ตัวอื่น) ใส่โค้ดใน Event Script ดังนี้ (ตัวแปร 3 กับ 4 ใช้ต่อเนื่องมาจากด้านบน) ตรง new Game_Event(ไอดีของแมพ, ไอดีของอีเว้นต้นแบบ) Code: var eid = $gameMap._events.length; |