ฉันกำลังมองหาวิธีที่จะใช้กระโดดผนังในเกม xna ของฉัน แต่ฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับมันได้ใครบางคนสามารถใครบางคนได้โปรดช่วยฉันออกมา?
ฉันกำลังมองหาวิธีที่จะใช้กระโดดผนังในเกม xna ของฉัน แต่ฉันไม่สามารถหาข้อมูลใด ๆ เกี่ยวกับมันได้ใครบางคนสามารถใครบางคนได้โปรดช่วยฉันออกมา?
คำตอบ:
เมื่อผู้เล่นชนกับกำแพงในขณะที่กระโดด (หรือหากคุณต้องการล้ม) ให้เปิดธงสำหรับอีก 100 มิลลิวินาทีหรือประมาณนั้นเพื่อให้เกิดความพยายามในการกระโดดเพื่อเริ่มการกระโดดได้สำเร็จ (ไม่สนใจการสัมผัสพื้นผิวใด ๆ ) ปริมาณความเร็วที่เหมาะสมบนแกน X ในทิศทางที่อยู่ห่างจากกำแพง อย่าลืมปิดธงไว้ก่อนหากการกระโดดเริ่มต้นจริง
ฉันจะทำการตรวจสอบคะแนนโดยสุจริต ดังนั้น:
if (falling AND left_key_pressed AND !point_free(x-1,y))
doWallJump
คุณอาจต้องการเปลี่ยน y เพื่อพูด y + sprite_width / 2 (หรือ - ขึ้นอยู่กับระบบพิกัดของคุณ) เพื่อให้มันตรวจสอบทางด้านซ้ายของกึ่งกลางผีสางของคุณแทนด้านบน (หรือด้านล่าง) นี่คือวิธีที่ยังไม่มีการดำเนินการตรวจสอบผนังสำหรับการกระโดดกำแพง (ย่อหน้าสุดท้าย)
หลังจากนั้นคุณต้องตัดสินใจว่าคุณต้องการกระโดดกำแพงมากแค่ไหน หากความเร็วในแนวตั้งของการกระโดดข้ามของคุณเหนือแนวนอนก่อนที่ผู้เล่นจะสามารถไปถึงกำแพงเดิมอีกครั้งคุณจะไม่สามารถกระโดดข้ามกำแพงเดิมได้และจะค่อยๆถอยกลับไปด้านล่าง (เช่นในเกมมาริโอที่มีการกระโดดกำแพง ) หากคุณปล่อยให้แนวนอนอ่อนแอพอที่ผู้เล่นจะกลับไปที่กำแพงเขา / เธอจะสามารถเดินขึ้นไปบนกำแพงได้ (เช่นใน Meat Boy)
อีกวิธีที่ไม่ได้กล่าวถึงคือ Super Metroid ในเกมนั้นเมื่อคุณอยู่ติดกับกำแพงถ้าคุณย้ายออกจากกำแพงนั้นจะมีการเล่นภาพเคลื่อนไหวสั้น ๆ หากคุณกระโดดในระหว่างภาพเคลื่อนไหวคุณจะกระโดดกำแพง (Super Metroid ยังอนุญาตให้ผู้เล่นปีนขึ้นไปบนกำแพงโดยใช้การกระโดดกำแพง แต่ต้องใช้ทักษะเล็กน้อย (อันที่จริงทุกอย่างเกี่ยวกับการกระโดดกำแพงใน Super Metroid ต้องใช้ทักษะที่ค่อนข้างยุติธรรม ... ))