คำถามติดแท็ก jumping

2
วิธีที่จะทำให้ตัวละครกระโดด?
ฉันกำลังสร้างเกมใน C # โดยใช้ Direct X 9.0 remake ของเกมคือ Donkey Kong NES ฉันเกือบจะทำทุกอย่างเสร็จ แต่ฉันมีปัญหากับฟิสิกส์ของการกระโดดของมาริโอ ฉันมีตัวแปรที่ประกาศสำหรับการประสานงาน Y และ X ฉันสงสัยว่ามีวิธีง่ายๆในการทำเช่นนี้หรือไม่ ฉันค้นหาคำตอบสูงและต่ำ แต่คำตอบที่ฉันพบนั้นไม่เกี่ยวข้อง / หรือใช้ภาษาโปรแกรมอื่นเช่น XNA ขณะนี้ฉันมีตัวแปรชุดบูลเพื่อตรวจสอบว่าได้กด W แล้วหรือไม่ซึ่งจะเรียกรหัสใด ๆ เพื่อให้เขากระโดด ฉันได้ทำสิ่งรอบ ๆ เช่น if (jump == true) { Playerypos -= vel; Playerxpos += vel; } ซึ่งใช้งานไม่ได้ดี ฉันค้นหาคำตอบสูงและต่ำและตอนนี้ฉันหมดหวังถ้ามีคนชี้ให้ฉันในทิศทางที่ถูกต้องไปยังทางออกที่ง่าย มันจะดีมาก. ชื่นชมมากสำหรับการตอบสนองใด ๆ
44 physics  input  jumping 

3
แรงกระตุ้นการกระโดด
มีสิ่งหนึ่งที่ทำให้ฉันงงงวยและนั่นก็คือวิธีการใช้การกระโดดแบบ 'faux-impulsed' ใน platformer หากคุณไม่รู้ว่าฉันกำลังพูดถึงอะไรให้นึกถึงการกระโดดของมาริโอเคอร์บี้และอ้างจาก Cave Story พวกเขามีอะไรที่เหมือนกัน? ความสูงของการกระโดดนั้นพิจารณาจากระยะเวลาที่คุณกดปุ่มกระโดดค้างไว้ การรู้ว่า 'แรงกระตุ้น' ของตัวละครเหล่านี้ไม่ได้ถูกสร้างขึ้นก่อนการกระโดดเช่นเดียวกับในฟิสิกส์จริง แต่แทนที่จะอยู่กลางอากาศ - นั่นคือคุณสามารถยกนิ้วของคุณขึ้นกลางความสูงสูงสุดได้และจะหยุดแม้ว่าจะมี การเร่งความเร็วระหว่างมันกับการหยุดแบบเต็ม นี่คือเหตุผลที่คุณสามารถแตะเพื่อกระโดดและกดค้างไว้เพื่อกระโดดไกล - ฉันเพลิดเพลินไปกับวิธีที่พวกเขาเก็บ trajetories ของพวกเขาเป็นโค้ง การใช้งานปัจจุบันของฉันทำงานดังต่อไปนี้: ในขณะที่กดปุ่มกระโดดแรงโน้มถ่วงจะถูกปิดและ Y coordenate ของอวตารจะลดลงตามค่าคงที่ของแรงโน้มถ่วง ตัวอย่างเช่นหากสิ่งต่างๆตกอยู่ที่หน่วย Z ต่อหนึ่งขีดมันจะเพิ่มขึ้นหน่วย Z ต่อหนึ่งขีด เมื่อปล่อยปุ่มหรือถึงขีด จำกัด แล้ว Avatar จะคำนวณจำนวนที่จะทำให้มันครอบคลุมหน่วย X จนกว่าความเร็วจะถึง 0; เมื่อมันเร่งความเร็วขึ้นจนถึงความเร็วที่ตรงกับแรงโน้มถ่วง - ติดกับตัวอย่างฉันบอกได้ว่ามันเร่งจาก 0 ถึง Z หน่วย / ติ๊กในขณะที่ยังครอบคลุม X อย่างไรก็ตามการใช้งานนี้ทำให้กระโดดในแนวทแยงเกินไปและถ้าความเร็วของอวาตาร์นั้นเร็วกว่าแรงโน้มถ่วงซึ่งจะทำให้มันเร็วเกินไปในโครงการปัจจุบันของฉัน …

3
การป้องกันการรวมกันของ Rigidbody Jump Force & Magnitude เด้งใน Unity3D
ฉันกำลังสร้างเกมแข่งรถหินอ่อนที่ค่อนข้างง่ายใน Unity3D ลูกบอลเป็นวัตถุฟิสิกส์ 3 มิติที่เคลื่อนที่บนแกน X และ Y เท่านั้น มันมีความสามารถในการหมุนไปทางซ้ายและขวาและกระโดด สิ่งพื้นฐานที่น่ารักยกเว้นว่าฉันเคยเจอปัญหาการทำลายเกม: เมื่อล้มและกระทบพื้นความสูงของการตีกลับของลูกบอลสามารถรวมกับแรงกระโดดเพื่อสร้างการกระโดดสูงเป็นพิเศษ ซึ่งหมายความว่าเมื่อกดปุ่มตามเวลาที่กำหนดผู้เล่นสามารถทำให้ลูกบอลกระดอนสูงกว่าแบบทวีคูณได้ถึงความสูงที่ไม่ได้ตั้งใจ ฉันไม่สามารถออกแบบระดับได้อย่างถูกต้องจนกว่าข้อผิดพลาดนี้จะได้รับการแก้ไข ฉันได้แสดงตัวอย่างนี้: อย่างไรก็ตามการกระโดดไม่ใช่เรื่องง่ายเหมือนยิงลูกขึ้นไปด้านบน เพื่ออำนวยความสะดวกให้กับความซับซ้อนมากขึ้นในการออกแบบระดับฉันได้ตั้งโปรแกรมมุมกระโดดที่จะสัมพันธ์กับพื้นผิวที่ลูกบอลกลิ้งไปมา รูปที่ 3ในภาพประกอบนั้นเป็นวิธีที่เกมของฉันทำงานได้ดี ไม่ได้รูปที่ 4 นี่ทำให้การแก้ปัญหาการตีกลับ + กระโดดมีความท้าทายมากขึ้นเพราะฉันไม่สามารถวัดและกำหนดแรงหรือความเร็วที่แน่นอนบนแกน Y ได้ การทำเช่นนี้ส่งผลให้เกิดพฤติกรรมแปลก ๆ ซึ่งจะเห็นได้ชัดเจนมากขึ้นเมื่อลูกบอลเคลื่อนที่บนทางลาดชัน จนถึงตอนนี้ฉันสามารถเข้าใจวิธีการแก้ปัญหาการออกแบบอื่น ๆ ทั้งหมดในเกมนี้แล้วค้นหาวิธีการตั้งโปรแกรมพวกเขา แต่อันนี้ฉันติดอยู่ ฉันพยายามหลายวิธี แต่ก็ไม่ได้ผลเลย นี่คือสคริปต์ C # ที่ควบคุมการกระโดดของลูกบอล: using UnityEngine; using System.Collections; public class BallJumping : MonoBehaviour { public …
10 unity  c#  physics  jumping 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.