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

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

3
ปรับแต่งเกม XNA 2D
มันสมเหตุสมผลไหมที่จะใช้ตรรกะเพื่อข้ามการเรนเดอร์วัตถุนอกวิวพอร์ตหรือฉันไม่ควรสนใจมันและปล่อยให้ Framework ทำมัน?
56 xna  2d  optimization  xna-4.0 

7
ปัญหาการปะทะกันของ Platformer AABB 2D
ฉันมีปัญหากับการแก้ไขการชนของ AABB ฉันแก้ไขทางแยก AABB โดยการแก้ไขแกน X ก่อนแล้วตามด้วยแกน Y สิ่งนี้ทำเพื่อป้องกันข้อผิดพลาดนี้: http://i.stack.imgur.com/NLg4j.png วิธีการปัจจุบันทำงานได้ดีเมื่อวัตถุเคลื่อนที่เข้าสู่เครื่องเล่นและผู้เล่นจะต้องถูกผลักในแนวนอน อย่างที่คุณเห็นใน. gif แหลมแนวนอนผลักผู้เล่นอย่างถูกต้อง เมื่อหนามแหลมแนวตั้งเคลื่อนที่เข้าหาผู้เล่นแกน X จะยังคงได้รับการแก้ไขก่อน สิ่งนี้ทำให้ "ใช้เดือยเป็นยก" เป็นไปไม่ได้ เมื่อผู้เล่นย้ายเข้ามาในแนวดิ่งแหลม (ได้รับผลกระทบจากแรงโน้มถ่วงตกเข้าไปในพวกเขา) เขาผลักแกน Y เพราะไม่มีการทับซ้อนกันบนแกน X เพื่อเริ่มต้น สิ่งที่ฉันลองใช้เป็นวิธีที่อธิบายไว้ในคำตอบแรกของลิงค์นี้: การตรวจจับการชนกันของวัตถุสี่เหลี่ยม 2 มิติ อย่างไรก็ตามสไปค์และวัตถุที่กำลังเคลื่อนที่จะเคลื่อนที่โดยการเปลี่ยนตำแหน่งของมันไม่ใช่ความเร็วและฉันจะไม่คำนวณตำแหน่งที่คาดการณ์ถัดไปจนกว่าจะมีการเรียกเมธอด Update () จำเป็นต้องพูดวิธีนี้ไม่ได้ผลเช่นกัน :( ฉันต้องแก้ปัญหาการชนกันของ AABB ในแบบที่ทั้งสองกรณีที่อธิบายไว้ข้างต้นทำงานได้ตามที่ตั้งใจไว้ นี่คือรหัสที่มาการชนกันของฉันในปัจจุบัน: http://pastebin.com/MiCi3nA1 ฉันรู้สึกขอบคุณจริง ๆ ถ้ามีคนสามารถตรวจสอบเรื่องนี้ได้เนื่องจากข้อผิดพลาดนี้ปรากฏอยู่ในเครื่องยนต์ตั้งแต่ต้นและฉันพยายามดิ้นรนเพื่อหาทางออกที่ดีโดยไม่ประสบความสำเร็จ สิ่งนี้ทำให้ฉันใช้เวลาหลายคืนในการดูรหัสการชนและป้องกันไม่ให้ฉันไปที่ "ส่วนที่สนุกสนาน" และเข้ารหัสตรรกะของเกม :( ฉันพยายามใช้ระบบการชนกันเช่นเดียวกับในการสาธิตแพลตฟอร์ม XNA …

3
คำสำหรับชุดไทล์ 3x3 ที่ใช้สร้างพื้นที่ขนาดใหญ่คืออะไร
ชื่อรูปแบบ / การออกแบบของการใช้ชุดไพ่ 3x3 คืออะไร (โดยปกติจะเป็นเกม 2D แบบเรียงต่อกัน) ที่สามารถใช้เพื่อสร้างพื้นที่ขนาดใหญ่ของตัวเอง ตัวอย่างเช่นสิ่งเหล่านี้: ( แหล่งรูปภาพ ) ฉันคิดว่ามันเป็น "9 ต้น" หรืออะไรทำนองนั้น แต่หาไม่เจอมันอาจจะเป็นการอ้างอิงที่ผิดปกติ
49 2d  tiles  terminology 

8
การเคลื่อนย้ายเรือไปมาระหว่างดาวเคราะห์ทั้งสองไปพร้อมกับเบซิเยร์หายไปสมการบางส่วนสำหรับการเร่งความเร็ว
ตกลงฉันโพสต์สิ่งนี้ไว้ที่ math.stackechange.com แต่ไม่ได้รับคำตอบใด ๆ :( ก่อนอื่นนี่คือภาพปัญหาของฉันคำอธิบายต่อไปนี้: ดังนั้นฉันจึงได้รับคะแนนและค่าทั้งหมด เรือเริ่มเคลื่อนที่ไปรอบ ๆ ดาวเคราะห์ด้านซ้ายP1ด้วยS=0.27 Degreesต่อ gametick เมื่อมันมาถึงPoint Aมันจะเริ่มตามโค้ง bezier จนกระทั่งมันมาถึงPoint Dจากนั้นมันจะเดินทางไปรอบ ๆ ดาวเคราะห์ที่ถูกต้องP2ด้วยS=0.42 Degreesเห็บต่อเกม ความแตกต่างSคือเพื่อให้การเดินทางด้วยความเร็วการเคลื่อนที่เดียวกันรอบ ๆ ดาวเคราะห์ จนถึงตอนนี้ฉันก็เริ่มทำงานแล้วตอนนี้ปัญหาของฉัน เมื่อใดS P1และS P2แตกต่างกันมากเรือรบกระโดดข้ามความเร็วทั้งสองเมื่อถึงที่หมายปลายทางซึ่งดูไม่ดีนัก ดังนั้นผมจึงต้องเร่งเรือระหว่างPoint AและPoint DจากไปS P1S P2 สิ่งที่ฉันขาดไปคือสีม่วงนั่นคือ: วิธีในการคำนวณเห็บที่ใช้เรือเคลื่อนที่ไปตาม bezier โดยพิจารณาจากความเร่ง และวิธีหาตำแหน่งบนเส้นโค้งเบซิเยร์ตาม T ลองพิจารณาความเร่งอีกครั้ง ATM ฉันคำนวณความยาวของ bezier โดยการคำนวณระยะทางระหว่างNจุดต่างๆ ดังนั้นสิ่งที่ฉันคิดว่าฉันต้องการคือวิธีการปรับขนาดที่Tฉันจำเป็นต้องใช้ในการคำนวณ bezier ของฉันตามการเร่งความเร็ว
48 2d  mathematics 

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

8
วิธีการเรียนรู้ภาพเคลื่อนไหว 2d? [ปิด]
ฉันจะเรียนรู้วิธีการทำแอนิเมชัน 2d อย่างง่ายได้อย่างไร หรือว่ามันเป็นเพียงแค่การวาดภาพทุกเฟรมใน Photoshop มีเคล็ดลับหรือลูกเล่นหรือไม่? บทแนะนำเพื่อช่วยเริ่มต้นใช้งานหรือไม่ นอกจากนี้ยังมีตัวเลือกซอฟต์แวร์ใดบ้าง (โดยเฉพาะอย่างยิ่งโอเพนซอร์สหรือแม้แต่ฟรี)
43 2d  animation 

6
OpenGL เหมาะสมกับเกม 2D หรือไม่?
ฉันสอนตัวเองที่ห้องสมุด OpenGL มาระยะหนึ่งแล้วและต้องการเริ่มทำเกม อย่างไรก็ตามเพื่อการแนะนำที่ง่ายขึ้นฉันต้องการเริ่มด้วยบางสิ่งบางอย่าง 2D เช่นเกมสไตล์โปเกมอนบนลงล่าง นี่เป็นแผนที่ดีหรือเป็น OpenGL ที่สร้างขึ้นเป็นพิเศษสำหรับ 3D หรือไม่?
43 opengl  2d 

6
คุณจะจัดการอัตราส่วนภาพที่แตกต่างใน platformer 2d อย่างไร
เมื่อนานมาแล้ว 4: 3 เป็นอัตราส่วน apect เพียงอย่างเดียวที่คุณจะพบบนพีซี วันนี้สิ่งที่พบบ่อยที่สุดคือ 16:10 แต่จอภาพใหม่ส่วนใหญ่ (โดยเฉพาะแลปท็อป) คือ 16: 9 ฉันกำลังเขียน platformer 2D และฉันไม่สามารถตัดสินใจได้ว่าจะจัดการกับอัตราส่วนต่าง ๆ ทั้งหมดได้อย่างไร นี่คือแนวคิดบางส่วน: 4: 3 ได้รับเนื้อหามากขึ้นเวดกรีนถูกตัดทั้งด้านบนและล่าง 16: 9 ได้เนื้อหามากขึ้นส่วนที่เหลือถูกตัดไปทางขวา เกมดังกล่าวอยู่ใน 16: 9 พร้อมแถบแนวนอนสีดำสำหรับ ARs อื่น ๆ เกมนี้เป็นแบบ 4: 3 พร้อมแถบแนวตั้งสีดำสำหรับ ARs อื่น ๆ
41 2d  aspect-ratio 

5
วิธีที่ดีที่สุดในการอนุญาตให้ผู้เล่นถ่ายภาพ“ Dye” โดยไม่สูญเสียคุณภาพสี?
ฉันกำลังสร้างเกม 2.5D isometric (ภาพ 2 มิติ) ฉันต้องการให้ผู้เล่นสามารถ "ย้อมสี" ชุดเกราะของพวกเขาเสื้อผ้าและสิ่งอื่น ๆ ฉันพบว่าการทำให้สีเทาซีดจางทุกอย่างนำไปสู่การสูญเสียสีผิวที่ "เป็นธรรมชาติ" มากขึ้น ตัวอย่างเช่นการสร้างมังกรที่มีโทนสีเทาแดง / เหลืองจากนั้นใช้สีซ้อนทับนำไปสู่การมังกรสีแดงล้วนๆที่สูญเสียสีรองทั้งหมด ในขณะเดียวกันการตายด้วยสีแดง / เหลือง Dragon Blue เดียวกันทำให้มันเป็นสีน้ำเงิน / ขาวซึ่งดูดีมาก ตัวละครในเกมของฉันไม่มีอุปกรณ์มากมาย เกมดังกล่าวใกล้เคียงกับที่ League of Legends จัดการกับตัวละครและกราฟิก อาจมีอักขระประเภทเดียว (เช่นฮีโร่) แต่มีหลายชุดสำหรับตัวละครเป็นตัวเลือก ฉันต้องการให้ผู้เล่นสามารถปรับแต่งได้มากที่สุดใน "ชุด" และตัวละครในจำนวนที่ จำกัด ดังนั้นฉันต้องการให้ผู้เล่นสามารถเลือกตัวละครเลือกอาวุธหนึ่งตัวเลือกสลับระหว่างชุดตัวเลือกจำนวนหนึ่ง (เลเยอร์ลงบนตัวละคร) แล้วย้อมทุกอย่างส่วนใหญ่ (เลือกสีโลหะเฉพาะสำหรับอาวุธเลือกสีใดก็ได้ เลยสำหรับเสื้อผ้า) ถ้าฉันสามารถใช้โทนสีเทาได้โดยไม่ทำให้สีผมเสีย นี่คือตัวอย่างของสิ่งที่ฉันกำลังพูดถึง: มันเป็นไปไม่ได้ที่จะ "ย้อม" มังกรไม่ว่าฉันจะใช้ตัวเลือก "Color Overlay" ของ …

5
นักแสดงในเกมควรมีความรับผิดชอบในการวาดภาพตนเองหรือไม่?
ฉันยังใหม่ต่อการพัฒนาเกม แต่ไม่ได้เขียนโปรแกรม ฉัน (อีกครั้ง) เล่นกับเกมประเภท Pong โดยใช้canvasองค์ประกอบของ JavaScript ฉันสร้างPaddleวัตถุที่มีคุณสมบัติดังต่อไปนี้ ... width height x y colour ฉันยังมีPongวัตถุที่มีคุณสมบัติเช่น ... width height backgroundColour draw(). draw()วิธีการในปัจจุบันคือการรีเซ็ตcanvasและที่เป็นที่คำถามขึ้นมา ควรPaddleวัตถุมีdraw()วิธีการรับผิดชอบสำหรับการวาดภาพหรือควรdraw()ของPongวัตถุต้องรับผิดชอบสำหรับการวาดภาพของนักแสดง (ฉันคิดว่าเป็นคำที่ถูกต้องโปรดแก้ไขฉันหากฉันไม่ถูกต้อง) ฉันคิดว่ามันจะเป็น advantagous สำหรับPaddleการวาดตัวเองที่ผมยกตัวอย่างวัตถุสองและPlayer Enemyถ้ามันไม่ได้อยู่ในPongของdraw()ฉันจะต้องเขียนรหัสที่คล้ายกันสองครั้ง การปฏิบัติที่ดีที่สุดที่นี่คืออะไร? ขอบคุณ

6
เราจะแก้ปัญหาความต้องการหน่วยความจำวิดีโอขนาดใหญ่ในเกม 2D ได้อย่างไร
เราจะแก้ปัญหาความต้องการหน่วยความจำวิดีโอขนาดใหญ่ในเกม 2D ได้อย่างไร เรากำลังพัฒนาเกม 2D (Factorio) ใน allegro C / C ++ และเรากำลังเผชิญปัญหากับการเพิ่มความต้องการหน่วยความจำวิดีโอเมื่อเนื้อหาของเกมเพิ่มขึ้น ขณะนี้เรารวบรวมข้อมูลทั้งหมดเกี่ยวกับรูปภาพที่จะถูกใช้ก่อนทำการครอบตัดรูปภาพเหล่านี้ให้มากที่สุดเท่าที่จะทำได้และจัดระเบียบให้เป็นแผนที่ขนาดใหญ่ให้แน่นที่สุด แผนที่เหล่านี้จะถูกเก็บไว้ในหน่วยความจำวิดีโอขนาดขึ้นอยู่กับข้อ จำกัด ของระบบ ปัจจุบันมักจะมี 2 ภาพสูงสุด 8192x8192 ดังนั้นพวกเขาต้องการหน่วยความจำวิดีโอ 256Mb ถึง 512Mb ระบบนี้ใช้งานได้ดีสำหรับเราเช่นเดียวกับการปรับแต่งที่เหมาะสมและแยกเธรดการแสดงผลและการอัปเดตเราสามารถดึงภาพหลายหมื่นภาพบนหน้าจอใน 60 fps; เรามีวัตถุมากมายบนหน้าจอและการอนุญาตให้ซูมออกขนาดใหญ่เป็นข้อกำหนดที่สำคัญ เนื่องจากเราต้องการเพิ่มมากขึ้นอาจมีปัญหากับข้อกำหนดหน่วยความจำวิดีโอดังนั้นระบบนี้อาจไม่สามารถใช้งานได้ หนึ่งในสิ่งที่เราต้องการลองคือมีแผนที่หนึ่งที่มีรูปภาพที่พบบ่อยที่สุดและที่สองเป็นแคช ภาพจะถูกย้ายไปที่นั่นจากบิตแมปหน่วยความจำตามความต้องการ มีสองปัญหาเกี่ยวกับวิธีการนี้: รูปวาดจากบิตแมปหน่วยความจำไปยังบิตแมปวิดีโอช้าอย่างเจ็บปวดใน allegro มันเป็นไปไม่ได้ที่จะทำงานกับวิดีโอบิตแมปที่นอกเหนือจากเธรดหลักใน allegro ดังนั้นจึงไม่สามารถใช้งานได้จริง ต่อไปนี้เป็นข้อกำหนดเพิ่มเติมบางประการที่เรามี: เกมดังกล่าวจะต้องถูกกำหนดไว้ดังนั้นปัญหาด้านประสิทธิภาพ / เวลาในการโหลดจะไม่สามารถเปลี่ยนแปลงสถานะของเกม เกมดังกล่าวเป็นแบบเรียลไทม์และเร็ว ๆ นี้จะเป็นผู้เล่นหลายคนเช่นกัน เราจำเป็นต้องหลีกเลี่ยงแม้แต่การพูดติดอ่างที่เล็กที่สุดในค่าใช้จ่ายทั้งหมด เกมส่วนใหญ่เป็นโลกที่เปิดกว้างอย่างต่อเนื่อง การทดสอบประกอบด้วยการวาดภาพสไปรต์ 10,000 ชุดเป็นชุดขนาดตั้งแต่ …

7
เรียนรู้การสร้างงานศิลปะที่ดีขึ้น (เกม 2D)
จนกว่าจะมีหนึ่งในเกมของฉัน "ทำให้" ใหญ่หรือฉันถูกน้ำท่วมด้วยทองคำแท่งฉันจะต้องจัดการกับเกมส่วนใหญ่หรือทั้งหมดของฉันเอง ปมคำถามของฉันคือฉันจะเรียนรู้ศิลปะมากพอที่จะก้าวข้าม "โปรแกรมเมอร์โปรแกรมเมอร์" และเป็นสิ่งที่ฉันจะภูมิใจได้อย่างไร โฟกัสของคำถามของฉันคือ 2D ไม่ใช่ 3D ฉันมีด้ามจับที่ดีอยู่แล้ว: Photoshop / GIMP (การจัดการรูปภาพและการสร้างภาพ) Flash (ภาพเคลื่อนไหวและการวาดภาพศิลปะอย่างง่าย) วาดง่าย ๆ (ด้วยมือ) การแปลงเป็นภาพวาดด้วยมือ ออกแบบกราฟิค อย่างไรก็ตามเกมต้องใช้ศิลปะที่ซับซ้อนและหลากหลาย ทุกอย่างตั้งแต่พื้นหลังไปจนถึงไอคอนสไปรต์แอนิเมชั่นและเอฟเฟกต์ที่ซับซ้อน ฉันจะลดช่องว่างได้อย่างไรอย่างมีศิลปะ? ฉันมีประสบการณ์และความมั่นใจที่ฉันสามารถทำได้ ฉันแค่ต้องรู้ทิศทางที่จะใช้ความพยายามเล็กน้อยของฉัน ฉันรู้ว่าสิ่งนี้จะชำระโดยเฉพาะอย่างยิ่งในระยะยาว แต่ฉันไม่แน่ใจว่าจะไปที่นั่นได้อย่างไร การใช้งานศิลปะที่มีอยู่เป็นสิ่งที่ฉันได้ทำไปแล้วดังนั้นโปรดอย่าตอบคำถามนั้นในคำถามของคุณ
40 2d  art 

6
การตรวจจับการชนกันของรูปหกเหลี่ยมสำหรับวัตถุที่เคลื่อนไหวเร็วหรือไม่
วัตถุมีตำแหน่งและเวกเตอร์ความเร็ว โดยปกติจะใช้เพียงตำแหน่งเพื่อตรวจสอบว่าวัตถุสองชิ้นชนกันหรือไม่นี่เป็นปัญหาสำหรับวัตถุที่เคลื่อนที่เร็วมากเนื่องจากมันสามารถเกิดขึ้นได้ว่าวัตถุนั้นเคลื่อนที่เร็วมากจนอยู่ด้านหน้าวัตถุแรกในการตรวจสอบการชนครั้งแรกและด้านหลัง การตรวจสอบการชนครั้งที่สอง ขณะนี้ยังมีการตรวจสอบการชนกันของบรรทัดด้วยซึ่งคุณจะตรวจสอบว่าเวกเตอร์การเคลื่อนไหวของวัตถุแต่ละรายการตัดกับกล่องขอบของอีกวัตถุหนึ่งหรือไม่ สิ่งนี้สามารถมองเห็นได้ว่าเป็นการขยายจุด ใช้งานได้เฉพาะในกรณีที่วัตถุที่เคลื่อนไหวเร็วนั้นเล็กมาก ดังนั้นความคิดของฉันคือแทนที่จะขยายจุดทำไมไม่ขยายสี่เหลี่ยม? ผลลัพธ์นี้เป็นรูปหกเหลี่ยม ตอนนี้ดีมาก แต่ฉันจะตรวจสอบว่า Hexagons สองแห่งของจุดตัดแบบนี้ได้อย่างไร โปรดทราบว่าสิ่งเหล่านี้เป็นรูปหกเหลี่ยมที่เฉพาะเจาะจงมาก คำถามโบนัส : เป็นไปได้หรือไม่ที่จะคำนวณว่ามีการปะทะกันเกิดขึ้น (หรือหลังจากเวลาเท่าไร) นี่อาจเป็นประโยชน์อย่างมากในการตรวจสอบสิ่งที่เกิดขึ้นจริงเช่นที่ไหนและด้วยพลังที่มากเพียงใดและเพื่อจำลองว่าพวกมันเคลื่อนที่อย่างไรในเวลาระหว่างการชนกับจุดสิ้นสุดเฟรม

1
การแสดงผล SVG โดยตรงใน XNA
สมมติว่าฉันมีงานศิลปะสองมิติในรูปแบบเวกเตอร์บางรูปแบบเช่น SVG มีวิธีง่าย ๆ ในการแสดงผลโดยตรงโดยไม่ต้องใช้ตัวแสดง SVG แบบเต็มหรือไม่ แน่นอนว่าฉันสามารถ rasterize แบบออฟไลน์ (เช่นในส่วนเนื้อหา) สำหรับความละเอียด / ระดับการซูมที่แตกต่างกัน แต่ฉันต้องการคงภาพที่คมชัดในระดับการซูมต่อเนื่องที่กราฟิกเวกเตอร์เสนอ
36 xna  2d  graphics  art  vector-art 

2
ฉันจะแสดงแถบสุขภาพที่มีรูปร่างผิดปกติได้อย่างไร
ปัญหาของแถบสุขภาพรูปสี่เหลี่ยมผืนผ้าหรือแถบหัวใจแบบดั้งเดิมนั้นเป็นสิ่งที่เข้าใจและแก้ไขได้ง่าย แต่อะไรคือทางออกที่ได้รับการยอมรับสำหรับบาร์เพื่อสุขภาพที่มีรูปทรงที่สร้างสรรค์มากขึ้นเช่นการจำลองที่ฉันทำไว้ด้านล่าง วิธีที่ชัดเจนในการทำเช่นนี้คือมีสไปรต์ "อยู่ระหว่าง" ดังนั้นภาพที่สามจะเป็นสไปรต์ของตัวเองพร้อมกับช่วงการเปลี่ยนภาพอื่น ๆ เพื่อสุขภาพในระดับต่างๆ แต่นั่นดูเหมือนไม่เหมาะสมจริง ๆ และจำนวนผู้ที่อยู่ในระหว่างที่จำเป็นในการสร้างการเปลี่ยนแปลงที่ราบรื่นระหว่างสภาวะสุขภาพจะมีขนาดใหญ่ อีกความคิดเดียวที่ฉันคิดได้คือวางซ้อนสไปรท์ "สุขภาพสมบูรณ์" ไว้ด้านบนของสไปรต์ "สุขภาพที่ว่างเปล่า" และชุดพิกเซลพิกัดล่วงหน้าเพื่อแสดงถึงสุขภาพแต่ละเห็บและทำให้ทึบแสงหรือโปร่งใส ขึ้นหรือลง ฉันตั้งใจให้คำถามนี้เป็นภาษาและไม่เชื่อเรื่องแพลตฟอร์ม แต่รู้สึกฟรีที่จะให้ตัวอย่างที่เป็นรูปธรรมในภาษาใด ๆ / ห้องสมุด / กรอบถ้ามันช่วยตอบ
35 2d  graphics 

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