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

2D หมายถึงพื้นที่สองมิติที่มีการแสดงพิกัดด้วยค่า X และ Y

2
วิธีการคำนวณเวกเตอร์ของการสกัดกั้น?
ให้เป็นพื้นที่สองมิติและยานอวกาศที่เป็นมิตร 1 ยืนนิ่งศัตรูคนหนึ่งกำลังเคลื่อนย้ายไม่ได้โดยตรงไปยังเรือที่เป็นมิตรกับตำแหน่งที่รู้จักจริงความเร็วและทิศทาง เรือที่เป็นมิตรต้องการเข้าสู่ระยะการยิงเพื่อต่อสู้กับศัตรู อันที่จริงฉันกำลังตั้งค่าเวกเตอร์โดยตรงไปยังตำแหน่งจริงที่เคลื่อนย้ายเรือและคำนวณใหม่ทุกเฟรมทำให้เกิดเส้นทางบิน "รอบ" บางประเภท สิ่งที่ฉันต้องการคือการตั้งค่าเส้นทางตรงและตรงไปยังตำแหน่งที่ศัตรูจะ (เมื่อ) จะมีเมื่อถึงระยะการยิงจะถึงสมมติว่าศัตรูจะไม่เปลี่ยนเส้นทางจนกว่าจะถึงวันนั้น เป็นการใช้งานครั้งแรกและ "ง่าย" มันจะเพียงพอหากเราคิดว่าเพื่อนสามารถเพิ่มความเร็วจาก 0 เป็นสูงสุดในเวลาไม่นาน การปฏิบัติที่ผ่านมาแล้วจะเป็นสิ่งที่พิจารณาความสามารถในการเร่งความเร็วของเพื่อนและรู้ว่าการสกัดกั้นเป็นไปไม่ได้เพราะความเร็ว มันควรจะใช้ได้กับทุกความเร็วเริ่มต้น ข้อดีก็คือถ้ามันคิดว่าการเบรก (การต่อสู้ที่ lightspeed นั้นไม่มีประสิทธิภาพในการใช้พลังงานของจักรวาล)

1
มุมของการสะท้อน
ฉันมีเกมนี้ ฉันมีปืนใหญ่ที่กึ่งกลางบล็อกรอบปืนใหญ่และแผ่นรองรอบบล็อก นี่คือลักษณะของเกม: ฉันจัดการเพื่อให้ได้การชนกันของแต่ละพิกเซลและลูกบอลของฉัน " สะท้อน " เมื่อสัมผัสกับบล็อคด้วยคณิตศาสตร์ต่อไปนี้: Ball.Direction = 2 * (Block.Direction - Ball.Direction) + 180; โดยที่เส้นสีฟ้าคือทิศทางของลูกบอลและเส้นสีดำ (เส้นฐาน) คือพื้นผิวบล็อก Directionเป็นมุมที่แสดงเป็นเรเดียน (ซึ่งสามารถแปลงเป็นองศาได้) ลูกบอลถูกย้ายโดย: // Event.ENTER_FRAME x += Math.sin(Direction) * Velocity; y -= Math.cos(Direction) * Velocity; จนถึงตอนนี้ดีมาก ปัญหาของฉันมาถึงตอนนี้โดยใช้แผ่นอิเล็กโทรนิกส์ (3 บล็อกที่มีขนาดใหญ่และมืดรอบ ๆ บล็อกสีขนาดเล็ก) ในขณะที่พวกเขาหมุนมุมผิวจะเปลี่ยนไป ยิ่งไปกว่านั้นลูกบอลควรตีที่ด้านข้างด้วยดังนั้นฉันจะวัดทิศทางของการตีและทิศทางการเคลื่อนที่ของลูกบอลได้อย่างไร ป.ล. : ถ้าจำเป็นฉันสามารถจัดหารหัสและ swf ที่เล่นได้ แก้ไข ตกลงปัญหาเกี่ยวกับมุมได้รับการแก้ไขด้วยเวกเตอร์แต่ฉันยังคงมีปัญหากับการชนด้านข้างและด้านหลัง …

5
ฉันจะตรวจสอบทิศทางของการชนของวัตถุสี่เหลี่ยมสองมิติได้อย่างไร
หลังจากคำถามนี้ฉันต้องการความช่วยเหลือเพิ่มเติม ฉันจะทราบได้อย่างไรว่าการชนกันของสี่เหลี่ยมด้านใดมาและตอบสนองได้อย่างไร ลูกศรสีน้ำเงินเป็นเส้นทางที่วัตถุวงกลมบางตัวติดตามหากก่อนและหลังการชนกับกล่อง ฉันจะคำนวณสิ่งนี้ได้อย่างไร

3
เป็นตัวแทนของพื้นผิวดาวเคราะห์ใน 2d
ฉันต้องการสร้างเกมโดยที่ส่วนหนึ่งจัดการดาวเคราะห์ (การสร้างเมืองโรงงานถนน ฯลฯ ) แต่ฉันต้องการหลีกเลี่ยง 3D - เฉพาะสิ่งที่ฉันต้องการคือ 2D ที่ดี แต่ถ้าฉันแสดงพื้นผิวดาวเคราะห์เป็นกริดมันจะแปลกที่จะเคลื่อนที่เข้าใกล้ขั้ว (ถ้าฉันขึ้นไปฉันจะไม่ปรากฏที่ด้านล่างของแผนที่ แต่อยู่ด้านบน - เฉพาะที่อื่นเท่านั้น) และมันจะเป็น ยากที่จะมีภูมิประเทศที่ดี (เสาจะถูกยืด) คุณมีความคิดวิธีการทำเช่นนั้น?
11 2d  maps 

5
เอ็นจิ้นเกม 2D หรือกรอบการทำงานที่ดีในการทำงานในตอนนี้คืออะไร? [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา โดยพื้นฐานแล้วฉันกำลังมองหาเอ็นจิ้นเกม 2D ที่ดีในการสร้างเกม platformer / contra-like เหมือนเพื่อหนุน (และเมื่อฉันพูดหนุนฉันหมายถึงเริ่มต้น) ผลงานของฉัน ฉันใช้คำว่า "ตอนนี้" ในชื่อเพราะฉันได้อ่านคำถามและฉันไม่ต้องการใช้อะไรเช่น Java เกม API สำหรับโทรศัพท์มือถือจากปี 2003 (เช่น XNA ไม่เป็นคำถาม ฉันกำลังทำงานในโครงการขนาดใหญ่ในนั้น) ฉันมีความสามารถพอสมควรใน Java และมีความเข้าใจพื้นฐานของภาษาอื่นเช่น C # และ Python แต่ฉันก็ไม่ได้ค้านกับการเรียนรู้ภาษาใหม่ในขณะที่เรียนรู้กลไก (ด้วยเหตุผล) เครื่องยนต์ไม่จำเป็นต้องมีพลังพิเศษแค่ฟรีและเรียบง่ายพอที่ใครบางคนในระดับความสามารถของฉัน (วิชาเอก CS ปีที่ 3) จะได้ชิ้นส่วนแนวนอนที่ดีโดยไม่มีการชนมากเกินไป
11 2d 

2
ฉันจะใช้การทดสอบเชิงลึกและความโปร่งใสของพื้นผิวร่วมกันในโลก 2.5D ของฉันได้อย่างไร
หมายเหตุ:ฉันได้พบคำตอบแล้ว (ซึ่งฉันจะโพสต์หลังจากคำถามนี้) - ฉันแค่สงสัยว่าฉันทำถูกหรือว่ามีวิธีที่ดีกว่า ฉันสร้างเกมภาพสามมิติ "2.5D" โดยใช้ OpenGL ES (JOGL) โดย "2.5D" ฉันหมายความว่าโลกนี้เป็น 3D แต่มันถูกสร้างการแสดงผลโดยใช้แผ่นกระเบื้องสามมิติแบบสองมิติ ปัญหาเดิมที่ฉันต้องแก้ไขก็คือพื้นผิวของฉันจะต้องแสดงผลตามลำดับ (จากด้านหลังไปข้างหน้า) เพื่อให้กระเบื้องซ้อนทับอย่างถูกต้องเพื่อสร้างผลที่เหมาะสม หลังจากอ่านเสร็จฉันก็รู้ได้ทันทีว่านี่เป็นวิธี 2D "หมวกเก่า" เรื่องนี้กลายเป็นเรื่องยากที่จะทำอย่างมีประสิทธิภาพเนื่องจากผู้เล่นสามารถปรับเปลี่ยนโลก 3 มิติ (ดังนั้นสิ่งต่างๆสามารถปรากฏที่ใดก็ได้ในพื้นที่ 3 มิติ) - ดูเหมือนว่าฉันใช้ประโยชน์จากบัฟเฟอร์ความลึก นั่นหมายความว่าฉันไม่ต้องกังวลกับการแสดงสิ่งต่าง ๆ ในลำดับที่ถูกต้อง อย่างไรก็ตามฉันประสบปัญหา หากคุณใช้GL_DEPTH_TESTและGL_BLENDร่วมกันมันจะสร้างเอฟเฟกต์ที่วัตถุจะถูกผสมกับพื้นหลังก่อนที่จะ "เรียงลำดับ" ตามลำดับ z (หมายความว่าคุณได้รับการทับซ้อนแบบแปลก ๆ ที่ควรมีความโปร่งใส) นี่คือรหัสหลอกที่ควรแสดงให้เห็นถึงปัญหา (โดยบังเอิญฉันใช้ libgdx สำหรับ Android) create() { // ... // …

4
การแสดงผลความละเอียดข้อความอิสระ
ฉันต้องการวิธีการวาดความละเอียดข้อความอิสระในเกมของฉัน นั่นคือฉันต้องสามารถซูมเข้าข้อความและไม่เคยเห็นสิ่งประดิษฐ์พิกเซล ใครสามารถให้คำแนะนำเกี่ยวกับวิธีที่ฉันสามารถไปเกี่ยวกับเรื่องนี้?
11 xna  2d  3d  text 

3
TRON: อัลกอริธึมเกม AI ใช่ไหม
Lightouts หรือสิ่งที่มันถูกเรียกว่าชอบ ด้วยอาร์เรย์ 2d ที่เป็นตัวแทนของแผนที่เกมโดยที่แต่ละองค์ประกอบสามารถเป็น 0 หรือ 1 (0 แทนพื้นที่ว่างเปล่าและ 1 แทนพื้นที่ว่างเต็ม) ขั้นตอนวิธีสำหรับศัตรู AI ของ TRON คืออะไร?
11 2d  ai 

3
สุ่มวางศัตรูบนตาราง 2d
ฉันต้องการวางไอเท็มและศัตรูแบบสุ่ม (หรือสุ่มให้มากที่สุด) ในขณะนี้ฉันใช้Randomคลาสของ XNA เพื่อสร้างตัวเลขระหว่าง 800 สำหรับ X และ 600 สำหรับ Y มันรู้สึกเหมือนศัตรูวางไข่ไปทางด้านบนของแผนที่มากกว่าตรงกลางหรือด้านล่าง ฉันไม่ได้สร้างเครื่องกำเนิดไฟฟ้าซึ่งอาจเป็นสิ่งที่ต้องพิจารณา มีเทคนิคอื่น ๆ ที่อธิบายซึ่งสามารถปรับปรุงการจัดวางศัตรูแบบสุ่มในตาราง 2d หรือไม่?
11 xna  2d  sprites  random 

2
ใช้ฟังก์ชั่น“ Set ()” รูปหลายเหลี่ยม Box2D หรือไม่
ฉันใช้เครื่องยนต์ฟิสิกส์ Box2D และมีรูปร่างชนิดหนึ่งสำหรับ box2D เรียกว่า b2PolygonShape ในชั้นนี้คุณสามารถสร้างรูปหลายเหลี่ยม นอกจากนี้ยังมีฟังก์ชั่น Set () ที่รับอาร์เรย์ของคะแนนและการนับจุดสุดยอด Box2D มีตัวอย่างเช่นนี้: // This defines a triangle in CCW order. b2Vec2 vertices[3]; vertices[0].Set(0.0f, 0.0f); vertices[1].Set(1.0f, 0.0f); vertices[2].Set(0.0f, 1.0f); int32 count = 3; b2PolygonShape polygon; polygon.Set(vertices, count); วิธีนี้ใช้ได้ผล แต่เมื่อฉันพยายามฝึกฝนและยุ่งกับฟังก์ชั่นนี้ฉันก็ทำสิ่งนี้: b2Vec2 vertices[4]; vertices[0].Set(0, 0); vertices[1].Set(0,10); vertices[2].Set(10,10); vertices[3].Set(10,0); int32 count = 4; …
11 2d  physics  box2d 

5
Ledge ไต่แอนิเมชันและการเคลื่อนไหว (platformer 2d)
การดิ้นรนเพื่อตัดสินใจเกี่ยวกับการใช้งานกลไกไต่ระดับบนสำหรับนักฟิสิกส์ 2d platformer อะไรคือวิธีที่ดีที่สุดในการทำสิ่งนี้โดยไม่ซับซ้อนเกินไป? จนถึงตอนนี้ฉันเข้าใจ (มือสมัครเล่นที่นี่ไม่ใช่มืออาชีพ) มีตัวเลือกไม่กี่อย่าง ได้แก่ : ใช้แรงควบคุมกับร่างกายที่แข็งบนแกน y จนกระทั่งตำแหน่งรูตอยู่เหนือตำแหน่งมือจากนั้นใช้แรงกดบนแกน x มากพอเพื่อให้ตัวละครยืนอยู่บนแพลตฟอร์ม ในขณะเดียวกันก็ซิงค์สิ่งนี้กับภาพเคลื่อนไหวปีน ข้อสังเกต : การเคลื่อนไหวนั้นง่ายที่นี่และยังสามารถควบคุมได้ด้วยข้อต่อแบบเลื่อนปริซึม แต่ฉันไม่แน่ใจว่าฉันจะเก็บอนิเมชั่น (กระดูกสันหลัง) ให้สอดคล้องกับการเคลื่อนไหวได้อย่างไร แอนิเมชั่นการเคลื่อนไหวของรูทที่ขับเคลื่อนตำแหน่งรากของตัวละคร ส่งผ่านร่างแข็งเกร็งเมื่อเสร็จสิ้นและหวังว่า box2d ยังคงสามารถตอบสนองได้อย่างทันเวลาต่อการชนใด ๆ หากวัตถุใด ๆ ที่ตกลงมาจากท้องฟ้า ข้อสังเกต : ฟังดูง่ายกว่าที่จะเคลื่อนไหวจริง แต่ไม่แน่ใจว่าฉันจะเจอปัญหาใด ๆ เกี่ยวกับกระดูกสันหลังรันไทม์, box2d หรือใหม่กว่าลงมาบนแพลตฟอร์มที่เคลื่อนย้ายสายและแพลตฟอร์มความสูงที่หลากหลาย ใช้ IK ข้อ จำกัด โดยทางโปรแกรมในมือเพื่อล็อคพวกเขาในสถานที่และดำเนินการต่อเพื่อหมุนกระดูกด้วยตนเองหรือใช้ภาพเคลื่อนไหวที่กำหนดไว้ล่วงหน้าขนาดเล็ก (ไม่กี่คีย์ / เฟรม) ในขณะที่ใช้แรงที่จำเป็นกับร่างกายแข็งในเวลาเดียวกัน ข้อสังเกต : ดูเหมือนว่าสิ่งนี้จะให้การควบคุมสูงสุดแก่ผู้เล่น แต่ดูเหมือนจะซับซ้อนสำหรับฉันที่จะใช้งานในระดับของฉันไม่แน่ใจว่าจะเริ่มตรงไหน …
11 2d  libgdx  box2d  spine 

1
เปลี่ยนเทพดาของวัตถุในเอกภาพ
ภายในโค้ดสคริปต์ของฮีโร่ (วัตถุ) ฉันต้องการเพิ่มความเป็นไปได้ในการเปลี่ยนสไปรต์ ดังนั้นผู้เล่นกดปุ่ม space และ sprite เปลี่ยนเป็น sprite อื่น ๆ ที่เพิ่มเข้าไปในโครงการ คุณสามารถให้รหัสตัวอย่างแก่ฉันเพื่อทำสิ่งนี้ได้หรือไม่
11 c#  2d  unity  sprites 

4
ฉันจะใช้การลดความเร็วได้อย่างไร
ฉันพูดว่า "การชะลอตัว" เพราะฉันไม่ได้ใช้การเร่งความเร็วในขณะนี้ สิ่งที่ฉันหมายถึงคือการย้ายความเร็วกลับไปที่ศูนย์ในที่สุดก็หยุด ฉันยังใหม่กับเวกเตอร์และไม่ค่อยมีเรื่องเกี่ยวกับฟิสิกส์และเช่นนั้น ปกติจะมีการจัดการ "การชะลอตัว" อย่างไร ตอนนี้สิ่งที่ฉันได้ผล แต่ดูเหมือนว่าแฮ็ค update:function(Game, t, dt) { var speed = Game.Input.isKeyDown('shift') ? 8 : 4; if (Game.Input.isKeyDown('a')) { this.velocity.i -= speed; } else if (Game.Input.isKeyDown('d')) { this.velocity.i += speed; } else { if (Math.abs(this.velocity.i) > 3) { this.velocity.i += (this.velocity.i > 0) ? …

2
วิธีการคำนวณมุมยิงและความเร็วในการยิงเป้าเคลื่อนที่?
ฉันกำลังพัฒนาเกม 2D บน Android และฉันกำลังสร้างอัลกอริธึมการเล็งสำหรับขีปนาวุธ AI เพื่อโจมตีศัตรูไม่ว่าจะตามเส้นทางหรือเคลื่อนที่ได้ฟรี ในขณะนี้มันเพียงแค่คำนวณว่าเป้าหมายจะอยู่หลังระยะทางใดและยิงกระสุนปืนเพื่อไปพบมันในระยะทางนั้น แน่นอนว่านี่หมายถึงการเปลี่ยนแปลงความเร็วของกระสุนปืนเพื่อให้บรรลุเป้าหมาย ไม่มีใครมีเคล็ดลับสำหรับอัลกอริทึมแบบง่าย - ish (เหมาะสมที่สุด - ish) ในการคำนวณเมื่อกระสุนปืนต้องการยิงและตำแหน่งที่ต้องการเล็งหากมันสามารถเคลื่อนที่ด้วยความเร็วคงที่เท่านั้น? พูดว่า projectile ไปที่ความเร็วของเป้าหมายเป็นสองเท่า? วิธีเดียวที่ฉันสามารถนึกถึงเกี่ยวข้องกับการค้นหาและดูเหมือนจะค่อนข้างใหญ่
11 2d  android  mathematics  ai  aiming 

4
วิธีทำให้ Line Renderer อยู่ในแนวราบ
ฉันสังเกตเห็นว่าในขณะที่ฉันเพิ่มจุดยอดเพิ่มเติมให้กับ Line Renderer Line การบิดตัวของเส้นและหยุดเป็นเส้นเรียบ .GIF ที่นี่: http://i.imgur.com/hRAhCXM.gif เส้นทุกเส้นอยู่ในระดับ z เดียวกันแม้ว่าฉันจะเอาวัสดุออกไปก็ตามเส้นก็ยังดูเหมือนว่าจะบิด ฉันไม่รู้ว่าทำไมมันถึงเป็นเช่นนี้หรือจะแก้ไขข้อเสนอแนะได้อย่างไร C #
10 c#  unity  2d  lines 

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.