เกม 2D และ Java ความเป็นไปได้อื่น ๆ นอกเหนือจาก OpenGL? [ปิด]


12

ฉันเพิ่งเริ่มเขียนโปรแกรม OpenGL พื้นฐานบางอย่างใน Java แต่ OpenGL และ DirectX นั้นมากเกินกว่าที่จะจัดการและเข้าใจฉันและฉันก็เบื่อเร็วมาก

ตอนนี้ฉันสงสัยว่ามีความเป็นไปได้อื่น ๆ นอกเหนือจาก OpenGL (หรือ DirectX) เพื่อสร้างกราฟิก 2D ที่เรียบง่ายและเริ่มต้นในการพัฒนาเกมแม้ว่าจะมีข้อ จำกัด ก็ตาม ฉันอาจจะใช้ OpenGL ต่อไปเมื่อฉันมีประสบการณ์มากกว่านี้

คำตอบ:


13

นอกจากนี้ยังมี Library Slickซึ่งให้คุณสมบัติทั่วไปสำหรับการพัฒนาเกม 2D (รูปภาพ, ภาพเคลื่อนไหว, เสียง, gameloop ... ) มันมีข้อได้เปรียบเหนือไลบรารี Java 2D ที่เฉพาะเจาะจงกับวิดีโอเกมมากขึ้นเนื่องจากมีการตรวจสอบการชนและเครื่องยนต์ฟิสิกส์


3
Slick ล้อม OpenGl และซ่อน "สิ่งที่ยาก"
David Young

เนียนเป็นห้องสมุดที่ดีและฉันขอแนะนำอย่างยิ่ง แตกต่างจากเกมเอ็นจิ้นมากมายที่บังคับให้คุณทำสิ่งต่าง ๆ ในแบบที่ลื่นไหลออกนอกเส้นทางของคุณและให้คุณมุ่งเน้นไปที่การทำสิ่งต่าง ๆ ให้สำเร็จ
Alex Schearer

ฉันจะลองสิ่งนี้อย่างแน่นอนดูเหมือนว่าจะดีจริงๆ
Simiil

ฉันขอแนะนำ Slick
Bryan Denny

เนียนได้เลิกใช้มานานหลายปีขณะที่ปี 2018
WHN

9

แน่นอน! Java มีไลบรารี Java 2D ในตัวซึ่งไม่ต้องการความรู้ OpenGL หรือ DirectX และฉันขอแนะนำให้เริ่มต้นด้วย! ความจริงแล้วมันมีประสิทธิภาพที่ค่อนข้างโอเค

จุดเริ่มต้นที่สำคัญคือการกำหนดคลาสของคุณเองซึ่งขยาย Frame (หรือ Applet) จากนั้นแทนที่paint(Graphics g)วิธีการและใช้gในการวาดลงบนหน้าจอ


1
แน่นอนไม่มีอะไรผิดปกติกับ Java 2D เพียงแค่โยน g ไปที่ Graphics2D ไม่งั้นคุณจะทิ้งทุกสิ่งที่ทำให้มันดี
Bart van Heukelom

ฉันชอบคำตอบนี้ (+1) เพราะมันแนะนำวิธีการแก้ปัญหาแบบจาวาบริสุทธิ์ที่ไม่ต้องการไลบรารีบุคคลที่สามที่มีองค์ประกอบที่ไม่ใช่ Java (เช่นที่เขียนและเรียบเรียงใน ASM / C / C ++)
Randolf Richardson

ใช่ซึ่งทำให้สามารถพกพาได้ 100% (ข้ามแพลตฟอร์ม) มีความเสถียร (เนื่องจากห้องสมุด Java 2D ได้รับการทดสอบที่ดีกว่าห้องสมุดบุคคลที่สามหลายแห่ง) สนับสนุนและพัฒนาและปรับใช้ได้ง่าย ฉันยังแนะนำหนังสือ "การพัฒนาเกมใน Java" โดย David Brackeen; ในนั้นเขาพัฒนาเอ็นจิ้น 3D ซอฟต์แวร์โดยใช้ Java 2D เท่านั้นและหนังสือของหลักสูตรอธิบายทีละขั้นตอนรวมถึงคณิตศาสตร์ที่เกี่ยวข้องและการตัดสินใจและการเพิ่มประสิทธิภาพที่ทำไปพร้อมกัน มันน่าประทับใจมาก ๆ และพังทลายลงมาเพื่อให้เข้าใจง่าย
Ricket

3

ทำไมคุณไม่ใช้ Swing หรือ Awt ในการเริ่มต้น (สำหรับ 2D) หากคุณออกแบบเกมของคุณอย่างถูกต้อง (ฉันหมายถึงการออกแบบ MVC) คุณจะสามารถอัปเกรดเกมของคุณด้วยเครื่องมือแสดงเกมที่ดีกว่าในภายหลัง เป้าหมายหลักหากคุณทำงานคนเดียวคือการบรรลุสิ่งที่ปรากฏบนหน้าจออย่างรวดเร็วใช่หรือไม่ มันช่วยเพิ่มความกระตือรือร้นของคุณ ...


3

ไม่ได้มีไว้สำหรับเกมอย่างแน่นอน แต่การประมวลผลค่อนข้างเป็นที่นิยมสำหรับกราฟิกผ้าใบ 2 มิติมันอาจน่าสนใจในการตรวจสอบ


2

ลองไลบรารี่ขั้นพื้นฐานหากคุณต้องการพัฒนาเกม 2 มิติ จริง ๆ แล้วฉันไม่ได้เรียนรู้ที่จะใช้ผ้าใบ 2 มิติโดยการสร้างเกมเกี่ยวกับเวลาที่คำถามนี้โพสต์ :) ตอนนี้ฉันกำลังจะจบ webGL

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