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

LibGDX เป็นเฟรมเวิร์กการพัฒนาเกมข้ามแพลตฟอร์ม Java ที่ใช้ OpenGL (ES) ที่ทำงานบน Windows, Linux, Mac OS X, Android, iOS และเบราว์เซอร์ที่เปิดใช้งาน WebGL ของคุณ

3
ฉันจะทำให้รูปแบบสัญลักษณ์แสดงหัวข้อย่อยขยายได้อย่างไร
ฉันต้องการสร้างชุดของรูปแบบสัญลักษณ์แสดงหัวข้อย่อยที่มีรูปร่างเช่นสี่เหลี่ยมจตุรัสสามเหลี่ยมเป็นต้นตัวอย่างของสิ่งที่ฉันหลังจากสามารถเห็นได้ในวิดีโอต่อไปนี้ซึ่งเมื่อดวงดาวถูกรวบรวมกระสุนระเบิดในรูปของ ดาวฤกษ์ที่กำลังขยายตัว: https://youtu.be/7JGcuTWYdvU?t=2m41s
12 java  libgdx 

3
LibGDX Game vs ApplicationAdapter
เมื่อฉันสร้าง LibGDX โครงการใหม่ชั้นหลักของโครงการหลักขยายApplicationAdapter นี่คือลักษณะที่ปรากฏ package com.marimba.apptest; import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; public class AppMain extends ApplicationAdapter { @Override public void create () { } @Override public void render () { Gdx.gl.glClearColor(1, 0, 0, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); } } ดังนั้นฉันต้องเปลี่ยนApplicationAdapterเป็นGameหากฉันต้องการเรียกเมธอด setScreen เพื่อสลับระหว่างหน้าจอ ดังนั้นการใช้ApplicationAdapterคืออะไร? ฉันจะใช้มันเมื่อไหร่?
12 java  libgdx 

2
เกมคำศัพท์ - การติดตั้งบอร์ด?
ฉันกำลังทำงานในเกมประเภทเกรงกลัวสำหรับ Android โดยใช้ libgdx ผู้ใช้นำเสนอด้วยตัวอักษรขนาด 4x4 และต้องค้นหาคำด้วยการลากนิ้วของพวกเขาไปที่ตัวอักษร ฉันต้องการให้ตัวอักษรที่ใช้หายไป ตัวอักษรที่เหลือจะล้มลง (ที่ด้านล่างของกระดานการวางแนวหน้าจอได้รับการแก้ไข) และกระดานจะถูกเติมจากด้านบน ผู้ใช้สามารถหมุนกระดานเพื่อพยายามใช้ตัวอักษรให้อยู่ในที่ที่ดีขึ้นโดยการเลือกคำที่เหมาะสม ตัวอย่าง: d g a o u o r T h v R I d G n a หากฉันเลือกคำว่า GRIT ตัวอักษรเหล่านั้นจะหายไปและส่วนที่เหลือจะล้มลง: d u g a h o r o d v n a แล้วแทนที่ด้วยตัวอักษรใหม่ d w x y u …
12 android  libgdx 

4
ฉันจะแสดง PNG ด้วยความโปร่งใสใน LibGDX ได้อย่างไร
ฉันกำลังสร้างตัวอย่างโอเอกซ์ง่ายๆด้วย LibGDX ฉันมีภาพง่าย ๆ : ข้ามวงกลมและกระดานทั้งหมดpngสร้างด้วย GIMP ที่มีพื้นหลังโปร่งใส ฉันจะทำให้พวกเขาเป็นTextureโปร่งใสได้อย่างไร ฉันได้ลองใช้คุณสมบัติเปิดใช้งาน GL10 แล้ว แต่ดูเหมือนจะไม่ทำงาน

2
ทำซ้ำพื้นผิวใน libgdx
วิธีเติมภูมิภาคด้วยพื้นผิวซ้ำ ๆ ตอนนี้ฉันใช้วิธีถัดไป: spriteBatch.begin(); final int tWidth = texture.getWidth(); final int tHeight = texture.getHeight(); for (int i = 0; i < regionWidth / tWidth; i++) { for (int k = 0; k < regionHeight / tHeight; k++) { spriteBatch.draw(texture, i*tWidth, k); } } spriteBatch.end(); มันชัดเจนมาก อาจจะมีวิธีการใด ๆ ในตัว?

1
อะไรคือข้อแตกต่างระหว่าง TextureRegion, TextureAtlas, Sprite และ Image ใน libgdx
ฉันค้นหาบทช่วยสอน ฉันเคยเห็นคนที่ใช้คลาสข้างต้นโหลดภาพ ตามความเข้าใจของฉันชั้นเรียนทั้งหมดสามารถอ่านได้ในสองภาพที่ไม่ใช้พลังงานโดยปกติแล้ว TextureRegion / TextureAtlas จะใช้ในการโหลดแผ่นสไปรต์ซึ่งแผ่นนั้นมีหลายภาพ ในขณะที่ Texture / Sprite / Image พวกมันถูกใช้เพื่อโหลด Sprite ชีทที่มีภาพเดียว อย่างไรก็ตามฉันไม่แน่ใจในสถานการณ์ที่ฉันควรใช้ Texture / Sprite / Image และในสถานการณ์ใดที่ฉันควรใช้ TextureRegion / TextureAtals โปรดแก้ไขให้ฉันถ้าฉันผิดเพราะฉันสับสนเล็กน้อยกับคำศัพท์ใน API หลังจากดูบทเรียนต่าง ๆ
12 libgdx 

1
วิธีการจับคู่ขนาดตัวอักษรกับความละเอียดหน้าจอ?
ดังนั้นฉันทำงานเกมโดยใช้ LibGDX และฉันมีปัญหา เพื่อให้เกมของฉันเหมาะสมกับความละเอียดที่สุดฉันได้สร้างเนื้อหาพื้นฐานสำหรับแต่ละอัตราส่วนตัวอย่างเช่นรูปภาพพื้นหลังเมนูหลักฉันสร้างเป็น 800X600 สำหรับ 4: 3, 1280X720 สำหรับ 16: 9 เป็นต้น ตอนนี้ฉันกำลังพยายามรวมTextButtonเกมเข้าด้วยกันเพื่อเป็นทางเลือก ปัญหาของฉันคือฉันไม่สามารถหาขนาดตัวอักษรที่ตรงกับความละเอียดของหน้าจอได้ มีวิธีคิดออกหรือไม่ฉันต้องไปทีละความละเอียดแต่ละฉันมีและตรงกับข้อความที่ความละเอียดด้วยตนเอง?

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

2
ฉันจะใช้ไทล์ที่สร้างตามขั้นตอนใน libgdx ได้อย่างไร
ฉันกำลังสร้างเกม Zelda-esque บนลงล่างแบบง่าย ๆ ใน libgdx และฉันต้องการใช้ดันเจี้ยนแบบเรียงต่อกันที่สร้างตามขั้นตอนคล้ายกับสิ่งนี้ Libgdx มีคลาสที่เรียกว่า TiledMap ซึ่งดูเหมือนว่าจะเหมาะกับความต้องการของฉันอย่างไรก็ตามเอกสารนอกเอกสารอย่างเป็นทางการแสดงให้เห็นว่า TiledMaps สามารถใช้ร่วมกับไฟล์. tmx หรือในคำอื่น ๆ ที่ออกแบบไว้ล่วงหน้าแผนที่ ฉันทำ Googling ในปริมาณที่พอใช้แล้วฉันก็เลยขอให้ที่นี่เป็นทางเลือกสุดท้ายหวังว่าจะมีใครบางคนมีประสบการณ์การใช้ libgdx เพื่อสร้างแผนที่ย่อยแบบไดนามิก แก้ไข: ฉันสามารถใช้StaticTiledMapTiles ได้หรือไม่ร่วมกับบทช่วยสอนที่ฉันเชื่อมโยงกับข้างต้นเพื่อบรรลุเป้าหมายได้หรือไม่ ขอบคุณ!

4
การปรับใช้ Java และ Steam JVM
ฉันกำลังพิจารณาทางเลือกของฉันสำหรับการพัฒนาเกมและปรับใช้กับ Steam Greenlight ฉันชอบ Java ที่มี libGDX โดยเฉพาะอย่างยิ่งสำหรับศักยภาพข้ามแพลตฟอร์ม Android และฉันเข้าใจว่าเป็นไปได้ที่จะปรับใช้เกม Java บน Steam ฉันรู้สึกสบายใจกับการสร้างเสื้อคลุมบางอย่างเพื่อให้เกม Java ของฉันสามารถโทรไปที่ C ++ Steamworks API คำถามของฉันเกี่ยวกับปัญหาการปรับใช้ที่ฉันอาจพบ โดยเฉพาะอย่างยิ่งกับการติดตั้งเครื่องไคลเอนต์ของ JRE ฉันเคยเห็นโปรแกรมติดตั้ง Steam หลายตัวตรวจสอบ. NET runtime ฉันควรตรวจสอบและติดตั้งที่คล้ายกันสำหรับ JRE หรือไม่? มีเหตุผลใดที่จ้องมองว่าทำไมการปรับใช้ Java บน Steam จึงเป็นฝันร้ายในการปรับใช้และบำรุงรักษาเทียบกับ C # โดยใช้ Monogame
10 java  libgdx  steam 

1
BitmapFont - ซึ่งเป็นวิธี getBounds ในใหม่ 1.6 libGDX
ฉันดาวน์โหลด libgdx เวอร์ชั่นใหม่ล่าสุด 1.6 และฉันไม่สามารถแก้ปัญหาด้วยข้อความ BitmapFont ของฉันที่อยู่ตรงกลาง ก่อนหน้านี้ในเวอร์ชัน 1.54 ฉันใช้เมธอด getBounds () เพื่อค้นหาความกว้างของข้อความ แบ่งปันโซลูชันของคุณขอบคุณ
10 java  libgdx 

4
การสร้างอาวุธระยะประชิดใน Box2D (libGDX)
ฉันกำลังดิ้นรนกับวิธีการใช้อาวุธระยะประชิดที่สามารถสวิงเมื่อกดปุ่ม ฉันจินตนาการการโจมตีสองแบบที่แตกต่างกัน (แทงและแกว่ง) ฉันได้ลองสร้างการแข่งขันสองรายการ (ตัวละคร + อาวุธ) สองร่างที่แตกต่างกันสองร่างที่แตกต่างกัน + ข้อต่อที่น่ารังเกียจ แต่ฉันไม่สามารถเขียนโค้ดเพื่อให้ทำงานตามที่ฉันจินตนาการได้ แทง: ดังนั้นด้วยการกดปุ่มร่างกาย / อุปกรณ์จับยึด (เซ็นเซอร์) จะออกมาเป็นเวลาประมาณ 1 วินาทีและหายไป (อีกทางหนึ่งร่างกาย / อุปกรณ์ติดตั้งสามารถอยู่กับฮีโร่ได้เสมอและหมุน 90 องศารอบจุดยอดเมื่อกดและ จากนั้นหมุนกลับเป็นปกติ) แกว่ง: สิ่งเดียวกัน แต่ตอนนี้อาวุธจะเริ่มจากด้านบนและแกว่งลง อาวุธก็จะเป็นเซ็นเซอร์ด้วย สิ่งที่ฉันได้ลอง: ฉันสร้างร่างกายที่มีพลังสองแบบ อาวุธต้องติดตามฮีโร่ดังนั้นฉันจึงใช้ข้อต่อหมุนรอบเพื่อรวมเข้าด้วยกัน เมื่อกดปุ่มฉันจะตั้งค่าความเร็วเชิงมุมของอาวุธให้เป็นตัวเลข อย่างไรก็ตามอาวุธจะยังคงหมุนหลังจากที่ฉันปล่อยกุญแจ ฉันลองใช้การตรวจสอบถ้า (ถ้ามุมมากกว่า ___ ตั้งค่าความเร็วเชิงมุมเป็นศูนย์) อย่างไรก็ตามนั่นหมายความว่าอาวุธจะหยุดหมุนเมื่อฉันกดปุ่มเป็นครั้งที่สอง
10 java  libgdx  box2d 

2
เนื่องจาก Table.drawDebug เลิกใช้แล้วใน libGDX ฉันควรใช้อะไรแทน
ฉันกำลังติดตามหนังสือ "Learning LibGDX Game Development" เพื่อสร้างเกมอย่างง่าย ฉันอยู่ในส่วนการสร้างเมนูที่เราสร้างสเตจและแสดงผลด้วยเส้นขอบการดีบัก หนังสือเล่มนี้บอกว่าจะใช้Table.drawDebug(stage)แต่วิธีการแบบคงที่นี้ดูเหมือนว่าจะถูกลบออกจากTableชั้นเรียนกรอบทั้งหมด ฉันกำลังนำเข้าcom.badlogic.gdx.scenes.scene2d.ui.Table; ด้านล่างคือรหัสของฉัน: @Override public void render(float deltaTime) { Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT); if (debugEnabled) { debugRebuildStage -= deltaTime; if (debugRebuildStage <= 0) { debugRebuildStage = DEBUG_REBUILD_INTERVAL; rebuildStage(); } } stage.act(deltaTime); stage.draw(); Table.drawDebug(stage); } บรรทัดสุดท้ายTable.drawDebug(stage);มีข้อผิดพลาดในการรวบรวม"The method drawDebug(ShapeRenderer) in the type Table is …

2
ปัญหาในการจับคู่ขนาดตัวอักษรกับความละเอียดหน้าจอใน libgdx
ฉันมีปัญหาในการแสดงข้อความในเกมของฉันที่มีขนาดเท่ากันบนหน้าจอที่แตกต่างกันและฉันทำการทดสอบอย่างง่าย การทดสอบนี้ประกอบด้วยการแสดงข้อความที่เหมาะสมบนหน้าจอฉันต้องการให้ข้อความมีขนาดเท่ากันจากหน้าจอและจาก DPI ฉันพบสิ่งนี้และคำตอบที่ฉันคิดว่าน่าจะแก้ปัญหาได้ แต่ทำไม่ได้ ในเดสก์ท็อปขนาดก็โอเค แต่ในโทรศัพท์ของฉันใหญ่เกินไป นี่คือผลลัพธ์บน Nexus 4 ของฉัน: (ความหนาแน่น 768x1280, 2.0) และนี่คือผลลัพธ์บน MacBook ของฉัน: (ความหนาแน่น 480x800, 0.6875) ฉันใช้Open Sans Condensed (ลิงก์ไปยังฟอนต์ google) อย่างที่คุณเห็นบนเดสก์ท็อปดูดี แต่บนโทรศัพท์มันใหญ่มาก นี่คือรหัสการทดสอบของฉัน: public class TextTest extends ApplicationAdapter { private static final String TAG = TextTest.class.getName(); private static final String TEXT = "Tap the screen …

2
ฉันจะทำให้หางงูเป็นไปตามหัวได้อย่างไร
ทำตามการมอบหมายและเพิ่งเริ่มต้นกับlibGDXโดยการสร้าง Snake clone ขนาดเล็กที่ฉันพบเจอปัญหาที่ฉันอาจจะละอายใจในระยะเวลาหนึ่ง ขณะนี้ฉันมีหัวงู (สี่เหลี่ยมเรียบง่ายในขั้นตอนนี้) เคลื่อนที่ไปทั่วผืนผ้าใบของเกม วิธีที่ตรงไปตรงมาที่สุดในการสร้างส่วนที่เหลือของงูนั้นคือการมีหัวของตัวเองเป็น Java Collections LinkedList รายการของ SnakeElements ซึ่งจะลดขนาด / ตามขนาดของสิ่งที่ผู้เล่นทำ มีรายการ SnakeElements นี้ตามหัว แต่ได้พิสูจน์แล้วว่าไม่น่ารำคาญ ฟังก์ชั่นปัจจุบันการทำเช่นนี้มีดังต่อไปนี้และถูกเรียกว่าทุกครั้งที่หัวหน้าอัพเดตตำแหน่ง: private void moveTail (float x, float y, int direction) { float tmpx, tmpy; int tmpdirection; int offset_x, offset_y; for (SnakeSegment snse : tail) { offset_x = 0; offset_y = …
10 java  libgdx 

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