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

Java เป็นทั้งภาษาโปรแกรมเชิงวัตถุยอดนิยมและสภาพแวดล้อมรันไทม์ซึ่งช่วยให้โปรแกรม Java สามารถรันไม่เปลี่ยนแปลงบนแพลตฟอร์มฮาร์ดแวร์และซอฟต์แวร์ส่วนใหญ่

2
LibGDX - ตรวจสอบว่าในปัจจุบันบน Android / Desktop
ฉันใช้ LibGDX และ flixel-android เพื่อสร้างเกมบนเดสก์ท็อป / Android รู้สึกว่าควรมีวิธีตรวจสอบเพื่อดูว่าคุณกำลังเรียกใช้บนอุปกรณ์ Android เดสก์ท็อปและอื่น ๆ แต่ฉันไม่พบที่ใดเลย ฉันควรจะผ่านมันจากตัวเรียกใช้งานบุคคลหรือไม่ LibGDX บอกฉันได้ไหม?
16 java  android  libgdx 

6
ฉันสามารถพัฒนาเกมสำหรับแพลตฟอร์มมือถือใน C ++ ได้หรือไม่
ฉันมีความเข้าใจเป็นอย่างดีในภาษา C ++ และ C และมีประสบการณ์ในการพัฒนาเกม AAA โดยใช้ C ++ ตอนนี้ฉันคิดอย่างไร้ยางอายที่จะดำน้ำในการพัฒนาเกมมือถือทั้งใน iOS หรือ Android น่าเสียดายที่ฉันไม่รู้วัตถุประสงค์ C และ Java และไม่มีความกล้าที่จะเรียนรู้ ดังนั้นตามที่กล่าวไว้ข้างต้นมีความเป็นไปได้ไหมที่จะทำการพัฒนาอุปกรณ์พกพาใน C ++ โดยไม่ต้องใช้คำสั่งเดียวของ JAVA และ Objective-C?
16 c++  java  android  ios  objective-c 

8
ฉันจะสร้างสัญญาณรบกวนที่เป็นรูปเป็นแผ่นสำหรับการสร้างแผนที่ได้อย่างไร
เฮ้พวกฉันกำลังพยายามหาวิธีสร้างเศษส่วนแบบเรียงต่อกันในรหัส (สำหรับแผนที่เกมแต่ไม่เกี่ยวข้อง ) ฉันพยายามแก้ไขปลั๊กอินเสียงรบกวนที่มาพร้อมกับ GIMP (ด้วยความเข้าใจที่ จำกัด อย่างมากเกี่ยวกับวิธีการ รหัสใช้งานได้) แต่ฉันไม่สามารถทำงานได้อย่างถูกต้อง รหัสที่แก้ไขของฉันแล้ว (Java) โมดูลเสียงรบกวนที่เป็นของแข็งของ GIMP ที่ฉันใช้เป็นรหัส (C) นี่คือสิ่งที่ฉันพยายามที่จะบรรลุแต่ นี่คือสิ่งที่ฉันได้รับ ดังนั้นถ้าใครสามารถเห็นสิ่งที่ฉันทำผิดหรือมีข้อเสนอแนะว่าฉันจะทำมันแตกต่างกันอย่างไรฉันก็จะขอบคุณมันมาก ขอบคุณล่วงหน้า. และถ้าฉันขอวิธีที่จะมากหรือถ้าเพียงแค่ความล้มเหลวอย่างมากในชีวิตฉันขอโทษ

10
เสียงสุ่มบนพื้นฐานของเมล็ด
ฉันกำลังทำงานกับโปรแกรมที่ควรสร้างสัญญาณรบกวนแบบสุ่มบนหน้าจอโดยยึดตาม 'พิกัด' ของพิกเซล พิกัดควรมีสีเดียวกันทุกครั้งที่คุณเริ่มโปรแกรมใหม่ อย่างไรก็ตามการใช้ประโยชน์ของ Java การสุ่มผลลัพธ์ที่ฉันได้รับนั้นไม่ได้สุ่มอย่างที่ฉันต้องการ: ฉันคิดว่าถ้าฉันใช้พิกัดร่วม (เช่นเดียวกับจำนวนเต็มหนึ่งตัวที่เกิดขึ้นจากพิกัดทั้งสองข้างถัดจากแต่ละอื่น ๆ ) แต่ละพิกัดจะมีจำนวนที่แตกต่างกัน โดยการใช้หมายเลขนั้นเป็นเมล็ดฉันคาดว่าจะได้รับตัวเลขสุ่มที่แตกต่างกันสำหรับแต่ละพิกัดเพื่อใช้สำหรับค่า rgb ของพิกัดนั้น นี่คือรหัสที่ฉันใช้: public class Generate { static Random Random; public static int TileColor(int x, int y){ Random = new Random(Integer.valueOf(Integer.toString(x)+Integer.toString(y))); int b = 1 + Random.nextInt(50); int g = 1 + Random.nextInt(50); int r = 1 …
16 java  random 

4
ขั้นตอนการสร้างอาคารของพื้นที่เฉพาะ
ตัวเองและทีมกำลังทำงานในเกมตัวสร้างโรงงานที่ให้ผู้เล่นโรงงานสุ่มในช่วงเริ่มต้นของเกม เพื่อให้แน่ใจว่ามี "ความเป็นธรรม" โรงงานที่สร้างแบบสุ่มจะมีพื้นที่ภายในไม่กี่หน่วย (ค่าตัวยึด) 30 มันค่อนข้างง่ายในการเขียนเครื่องกำเนิดสี่เหลี่ยมแบบสุ่มขั้นพื้นฐานเพื่อให้ตรงตามข้อกำหนดเหล่านี้ แต่เป้าหมายของเราคือโรงงานมีความซับซ้อนมากขึ้นอาจประกอบด้วย 2, 3, หรือ 4 สี่เหลี่ยมตัดกันเพื่อสร้างรูปร่างที่ซับซ้อนมากขึ้น (คิดว่า L อาคารรูปตัว U และ O) ฉันพยายามสร้างสี่เหลี่ยมผืนผ้าสุ่มแล้วใช้พีชคณิตพื้นฐานเพื่อเติมสี่เหลี่ยมที่ 2 แต่จนถึงตอนนี้ฉันยังไม่มีโชคในการใช้สี่เหลี่ยมมากกว่า 2 รูปและฉันก็ไม่พอใจกับผลลัพธ์ที่ได้จากการออกแบบสี่เหลี่ยมผืนผ้าเพียง 2 อัน . ข้อมูลที่เกี่ยวข้องเพิ่มเติมบางส่วน: 2D จากบนลงล่างกลศาสตร์บางตัวเป็นสไตล์แฟคเตริโอดังนั้นห้องควรมีความยาวและความกว้างที่เหมาะสมเพื่อให้มีที่ว่างสำหรับเครื่องจักรขณะนี้ใน Java และ Lua (สามารถใช้ห้องสมุดในตัวก็ได้ ขอบคุณล่วงหน้า! แก้ไข: เมื่อฉันพูดว่าเอาต์พุต "ดี" หรือ "ไม่ดี" เอาต์พุตที่ไม่ดีจะเป็นเอาต์พุตใด ๆ ที่มีพื้นที่ใช้งานไม่ได้โดยผู้เล่น รูปร่างของโรงงาน จำกัด ที่ผู้เล่นสามารถวางเครื่องจักรโรงงานเช่นสายพานลำเลียง ตามหลักการแล้วโรงงานไม่ควรมีพื้นที่ที่กว้างเพียง 1-2 บล็อกรูปร่างไม่ควรเป็นสี่เหลี่ยมขนาดใหญ่หนึ่งหรือสองรูปที่มีเส้น 1-2 …

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

1
A * การค้นหาพา ธ ตาข่าย
ดังนั้นฉันจึงได้สร้างเกมจาวา 2D ขึ้นมาในกรอบนี้เรียกว่าGreenfootและฉันได้ทำงานกับ AI สำหรับผู้ชายที่คุณจะต่อสู้ ฉันต้องการให้พวกเขาสามารถย้ายไปทั่วโลกได้อย่างสมจริงดังนั้นฉันจึงรู้ทันทีว่าในอีกสองสามอย่างฉันจะต้องมีการค้นพบบางอย่าง ฉันสร้างต้นแบบ A * สองชุด อันแรกเป็นแบบกริดและจากนั้นฉันก็สร้างมันขึ้นมาที่ทำงานร่วมกับจุดอ้างอิงดังนั้นตอนนี้ฉันต้องหาวิธีที่จะได้รับจาก "แผนที่" 2d ของอุปสรรค / สิ่งปลูกสร้างไปยังกราฟของโหนดที่ฉันสามารถสร้างเส้นทางได้ การค้นหาเส้นทางที่แท้จริงดูเหมือนจะดีเพียงแค่รายการเปิดและปิดของฉันเท่านั้นที่สามารถใช้โครงสร้างข้อมูลที่มีประสิทธิภาพมากขึ้น แต่ฉันจะไปที่นั้นถ้าต้องการ ผมตั้งใจที่จะใช้ตาข่ายเดินเรือด้วยเหตุผลทั้งหมดออกเรียงรายอยู่ในนี้โพสต์บน ai-blog.net อย่างไรก็ตามปัญหาที่ฉันเผชิญคือสิ่งที่ A * คิดว่าเป็นเส้นทางที่สั้นที่สุดจากจุดกึ่งกลาง / ขอบของรูปหลายเหลี่ยมไม่จำเป็นต้องเป็นเส้นทางที่สั้นที่สุดหากคุณเดินทางผ่านส่วนใดส่วนหนึ่งของโหนด เพื่อให้ได้ความคิดที่ดีที่คุณสามารถดูคำถามที่ผมถามใน StackOverflow ฉันได้รับคำตอบที่ดีเกี่ยวกับกราฟการมองเห็น ฉันได้ซื้อหนังสือเล่มนี้มาแล้ว ( Computational Geometry: Algorithms และ Applications ) และอ่านเพิ่มเติมในหัวข้ออย่างไรก็ตามฉันยังคงชอบการนำทางแบบเครือข่าย (ดู "การจัดการความซับซ้อน " จากหมายเหตุของ Amit เกี่ยวกับการหาเส้นทาง ) (ตามบันทึกด้านข้างบางทีฉันอาจใช้ Theta * เพื่อแปลง waypoints …

3
ฉันจะทำให้พื้นผิว OpenGL ปรับขนาดได้โดยไม่มัวหรือไม่?
ฉันใช้ OpenGL ผ่าน LWJGL ฉันมีการเรนเดอร์รูปสี่เหลี่ยมขนาด 16x16 ที่ 16x16 เมื่อฉันเปลี่ยนเป็นจำนวนสเกล, รูปสี่เหลี่ยมจะโตขึ้น, จากนั้นจะกลายเป็นพร่ามัวเมื่อมันใหญ่ขึ้น ฉันจะทำให้มันขยายได้โดยไม่ทำให้ตาพร่าเช่นใน Minecraft นี่คือรหัสภายในวัตถุ RenderableEntity ของฉัน: public void render(){ Color.white.bind(); this.spriteSheet.bind(); GL11.glBegin(GL11.GL_QUADS); GL11.glTexCoord2f(0,0); GL11.glVertex2f(this.x, this.y); GL11.glTexCoord2f(1,0); GL11.glVertex2f(getDrawingWidth(), this.y); GL11.glTexCoord2f(1,1); GL11.glVertex2f(getDrawingWidth(), getDrawingHeight()); GL11.glTexCoord2f(0,1); GL11.glVertex2f(this.x, getDrawingHeight()); GL11.glEnd(); } และนี่คือรหัสจากวิธี initGL ของฉันในคลาสเกมของฉัน GL11.glEnable(GL11.GL_TEXTURE_2D); GL11.glClearColor(0.46f,0.46f,0.90f,1.0f); GL11.glViewport(0,0,width,height); GL11.glOrtho(0,width,height,0,1,-1); และนี่คือรหัสที่ใช้วาดรูปจริง public void start(){ initGL(800,600); init(); while(true){ …
15 opengl  java  lwjgl  slick 

1
การสร้าง HUD / GUI ด้วย OpenGL (LWJGL)
ฉันอยู่ในขั้นตอนของการพัฒนาเกมที่ฉันต้องทำ HUD หรือ GUI ฉันไม่เคยได้รับส่วนนี้ดังนั้นฉันไม่รู้ว่ามันเสร็จสิ้นแล้ว ฉันพยายามเรนเดอร์สี่เหลี่ยมที่ตำแหน่งคงที่บนหน้าจอ แต่มีปัญหา เพื่อให้กล้องของฉันทำงานกับออโทกราฟฟิคฉันใช้สิ่งนี้: public void lookThrough() { GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); GL11.glOrtho(position.x, position.x + Display.getDisplayMode().getWidth()/zoom, position.y + Display.getDisplayMode().getHeight()/zoom, position.y, -1, 1); GL11.glMatrixMode(GL11.GL_MODELVIEW); } ฉันไม่เห็นว่าฉันจะสามารถแก้ไขบางสิ่งบางอย่างบนหน้าจอโดยใช้วิธีนี้ได้อย่างไร มีวิธีใดบ้างไหม? ขอบคุณ :)
15 opengl  java  gui  lwjgl 

4
ฉันจะใช้บันไดที่มีคะแนนสูงระดับโลกได้อย่างไร [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Game Exchange Stack Exchange ปิดให้บริการใน3 ปีที่ผ่านมา มีเฟรมเวิร์กที่ฉันสามารถสร้างได้หรือไม่? ฉันควรสร้างของตัวเอง? ฉันจะป้องกันไม่ให้คะแนนปลอมถูกโพสต์ได้อย่างไร

2
วิธีการ: เกม Java เพื่อ Steam Greenlight
ฉันกำลังวางแผนที่จะสร้างเกมอินดี้ใช้JavaและEclipse IDEและฉันต้องการที่จะนำผลิตภัณฑ์สำเร็จรูปเพื่อSteam Greenlight วิธีการที่ไม่ทำงานกระบวนการทั้งหมดหลังจากที่เกมจะเสร็จสิ้นและทำงานเฉพาะในคราส ?
14 java  eclipse  steam 

2
ฉันจะสร้างเอฟเฟกต์ World Healing Wave ได้อย่างไร
ฉันต้องการเปลี่ยนพื้นหลังที่มืดและหดหู่ของฉันให้เป็นพื้นหลังหญ้าที่มีความสุขแบบเรียลไทม์ดังนั้นฉากหลังที่มีความสุขจะปรากฏในรัศมีรอบตัวละครเกม Forcefield ของความสุขถ้าคุณจะ วิธีนี้สามารถทำได้อย่างมีประสิทธิภาพเท่าที่เป็นไปได้เมื่อแสดงไปยังผืนผ้าใบในมุมมองที่กำหนดเอง ปรับปรุง: นี่คือวิธีการทำงานในหัวของฉัน: private int hModeX, hModeY; private float hModeRadius = 0.1f; private float hModeStart = 0; happyModeBg = Bitmap.createScaledBitmap(happyModeBg, getWidth(),getHeight(), true); hModeX = getWidth()/2; hModeY = getHeight()/2; private void initHappyMode(Canvas canvas){ hModeRadius = 75 * thread.getDelta(); if(hModeRadius > 500) { hModeStart = timestep; //What is timestep? …

2
การวางแผนตระเวนดินแดน
ฉันกำลังพัฒนาเกม / จำลองสถานการณ์ที่ตัวแทนกำลังต่อสู้เพื่อดินแดน ฉันมีสถานการณ์ที่แสดงในภาพด้านล่าง: สิ่งมีชีวิตเหล่านี้กำลังเดินไปรอบ ๆ และครอบครองผืนดินที่พวกเขาเหยียบหากพวกเขาเป็นอิสระ เพื่อทำให้สิ่งนี้น่าสนใจยิ่งขึ้นฉันต้องการแนะนำพฤติกรรม "การลาดตระเวน" ซึ่งเจ้าหน้าที่กำลังเดินไปรอบ ๆ ดินแดนของพวกเขาเพื่อลาดตระเวนจากผู้บุกรุกที่อาจต้องการใช้มัน ในด้านเทคนิคแต่ละสแควร์จะแสดงเป็นx,yตำแหน่งเช่นเดียวกับมิติที่แสดงความยาวด้าน นอกจากนี้ยังมีข้อมูลเกี่ยวกับผู้ที่ครอบครองตาราง ArrayListสี่เหลี่ยมทั้งหมดจะถูกเก็บไว้ใน ฉันจะแนะนำพฤติกรรมการลาดตระเวนได้อย่างไร สิ่งที่ฉันต้องการคือให้แต่ละหน่วยลาดตระเวนส่วนหนึ่งของพื้นที่ (พวกเขาแบ่งระหว่างพวกเขาซึ่งพวกเขาจะลาดตระเวนในพื้นที่) ปัญหาหลักที่ฉันพบมีดังนี้: พื้นที่ของที่ดินนั้นสุ่มมากดังที่เห็นในภาพ มันค่อนข้างยากที่จะเข้าใจว่าขอบเขตอยู่ในแต่ละทิศทาง ตัวแทนควรแบ่งภูมิภาคเป็นหน่วยลาดตระเวนอย่างไร พื้นที่ของที่ดินอาจไม่ต่อเนื่องจากทีมตรงข้ามอาจเข้ายึดครองดินแดนกลาง ฉันมีความคิดที่จะนำสี่เหลี่ยมจัตุรัสที่ไกลที่สุดในแต่ละทิศทางปฏิบัติต่อพวกมันให้เป็นขอบเขตของพื้นที่และแบ่งพื้นที่ตามขอบเขตเหล่านั้น แต่อาจรวมถึงที่ดินที่ไม่เกี่ยวข้องจำนวนมาก ฉันจะแก้ไขปัญหานี้ได้อย่างไร
14 java  ai  grid 

2
กราฟิกไม่ถูกแสดงบน OUYA
ฉันหวังว่ามันจะยังเร็วเกินไปที่จะถามคำถาม OUYA dev แต่ฉันเพิ่งได้รับอุปกรณ์ dev และฉันต้องการให้เกมของฉันทำงานเร็วที่สุด! ฉันใช้ LibGDX เป็นเฟรมเวิร์กสำหรับเกมของฉันและเปิดตัวแบ็กเอนด์ Android บน OUYA ดูเหมือนว่าทุกอย่างจะดียกเว้นว่าไม่มีการแสดงกราฟิกของฉัน! ฉันบอกได้แค่ว่าเกิดอะไรขึ้นเพราะ DebugDraw ของ Box2D แสดงฟิสิกส์ของฉัน ฉันใช้ Spritebatch และ OpenGL ES 2.0 ของ LibGdx ทุกอย่างทำงานอย่างสมบูรณ์บนเดสก์ท็อปของฉันและแบ็กเอนด์ Android (โทรศัพท์) ฉันกำลังทำสิ่งผิดปกติกับการจัดการทรัพยากรของฉันสำหรับ OUYA หรือไม่ มีปัญหาอะไร อาจเป็นเพราะฉันเก็บกราฟิกไว้ในโฟลเดอร์สินทรัพย์แทนที่จะเป็น / res? แก้ไข: นี่คือผลลัพธ์ของ logcat: http://pastebin.com/BbPyPCcR
14 java  android  libgdx  ouya 

2
เหตุใด C / C ++ จึงเป็นที่ต้องการสำหรับนักพัฒนาเกม
บางคนบอกว่ามันให้การควบคุมแก่นักพัฒนามากขึ้น แต่มันคืออะไรที่แม่นยำที่สามารถควบคุมผ่าน C ++ ซึ่งไม่สามารถควบคุมได้โดยใช้ตัวอย่างเช่น Java?
14 c++  java 

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