RM ครับ
วิธีของผมเบื้องต้นนะครับ สำหรับขอคำแนะนำเพิ่มเติมการใช้อีเว้นท์
ที่แมพก่อนนะครับ
1วางEventที่พื้นเหยียบ เมื่อถูกเหยียบ จะบอกสถานะว่าถึงพื้นโดยใช้ตัวแปร ว่าเท่ากับ0 เพื่อใช้ในการกดกระโดด เพราะถ้าอยุ่กลางอากาศจะไม่ให้ตัวละครกดกระโดดได้ แต่จะกลายเป็นท่ากลางอากาศแทน ซึ่งตัวแปรนี้ผมวางบนพื้นหลายๆอันทำเปนทางเดิน และมีตัวกำแพงรองด้านล่างกันหล่น
2สร้างEventสำหรับตรวจเช็คปุ่มกด
-การหันซ้าย/ขวา จะมีผลกับท่าขึ้นลงกลางอากาศว่าหันซ้ายอยู่หรือหันขวาอยุ่ และมีการเรียกcommon evet เพื่อใช้เปลี่ยนภาพตัวละครตอนหันทำท่าต่างๆ
-การกดขึ้น/ลง จะใช้ทำเป็นปุ่มแอคชั่นไม่ใช่การกระโดด นำมาเป็นท่าผสม
-การกดโจมตี
-การกดกระโดด หากเช็คตัวแปรว่า ตัวละครอยู่บนพื้น จะเรียกใช้งานโปรแกรมกระโดด
หากตัวละครไม่ได้อยุ่บนพื้น จะเรียกใช้งานโปรแกรม เป็นท่ากลางอากาศ เช่นการบิน เหาะต่างๆ (ส่วนนี้ยังไม่ได้เริ่มทำแต่เว้นไว้)
ในส่วนของcommon evet
-โปรแกรมกระโดด
เปลี่ยนสปีดผู้เล่นเป็นเร็วสุด และให้ตัวผู้เล่นเดินทะลุสิ่งกีดขวางได้
moveขึ้น1ครั้งเพื่อให้พ้นจากeventบนพื้น
เปลี่ยนตัวแปรสถานะว่าตอนนี้อยู่กลางอากาศไม่ได้อยู่บนพื้น ให้ตัวแปรground or airเท่ากับ1
ตั้งค่าตัวแปรสำหรับวน เป็นแรงกระโดด 4
ทำlabel1 ไว้สำหรับวนขึ้นมา
เช็ค ถ้า ตัวแปรแรงกระโดดไม่เท่ากับ0
move ขึ้น1ครั้ง
ลดตัวแปรแรงกระโดดลง1
กลับไปเริ่มบรรทัด label1
else
เมื่อแรงกระโดดลดลงเหลือ0จากการวนทำซ้ำ
call common event แรงโน้มถ่วง
-โปรแกรมแรงโน้มถ่วง
เปลี่ยนให้ตัวผู้เล่น ไม่เดินทะลุสิ่งกีดขวาง
ทำlabel2 ไว้สำหรับวนขึ้นมา
เช็ค ถ้า ตัวแปรสถานะ ground or air ไม่เท่ากับ0
moveผู้เล่นลง 1ช่อง
กลับไปเริ่มบรรทัด label2
else
เมื่อตัวแปร ground or air เป็น0ไม่ตรงตามเงื่อนไข กรณีที่ลงพื้น
ให้จบ common event โปรแกรมแรงโน้มถ่วง
อันนี้เป็นแบบคร่าวๆที่ผมทำน่ะครับ
เป็นวิธีคิดเฉยๆที่ลองทำแล้วมัน ลอยขึ้น4ช่องแล้วค้างเลย มีวิธีคิดแบบอื่นอีกไหมครับ