kandi background
Explore Kits

libgdx | Desktop/Android/HTML5/iOS Java game development framework | Game Engine library

 by   libgdx Java Version: gdx-parent-1.10.0 License: Non-SPDX

 by   libgdx Java Version: gdx-parent-1.10.0 License: Non-SPDX

Download this library from

kandi X-RAY | libgdx Summary

libgdx is a Java library typically used in Telecommunications, Media, Media, Entertainment, Gaming, Game Engine applications. libgdx has no bugs, it has no vulnerabilities, it has build file available and it has high support. However libgdx has a Non-SPDX License. You can download it from GitHub, Maven.
As we use Gradle, there's no need to download libGDX itself – this can all be done by your favorite build tool. We also offer a setup tool, which automatically creates a project for you and downloads everything necessary. See our website for instructions on how to get started with this or read our wiki. We also provide javadocs online. The javadocs are bundled with every libGDX distribution for consumption in your favorite IDE.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • libgdx has a highly active ecosystem.
  • It has 19612 star(s) with 6271 fork(s). There are 1222 watchers for this library.
  • It had no major release in the last 12 months.
  • There are 162 open issues and 3281 have been closed. On average issues are closed in 110 days. There are 60 open pull requests and 0 closed requests.
  • It has a positive sentiment in the developer community.
  • The latest version of libgdx is gdx-parent-1.10.0
libgdx Support
Best in #Game Engine
Average in #Game Engine
libgdx Support
Best in #Game Engine
Average in #Game Engine

quality kandi Quality

  • libgdx has 0 bugs and 0 code smells.
libgdx Quality
Best in #Game Engine
Average in #Game Engine
libgdx Quality
Best in #Game Engine
Average in #Game Engine

securitySecurity

  • libgdx has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
  • libgdx code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.
libgdx Security
Best in #Game Engine
Average in #Game Engine
libgdx Security
Best in #Game Engine
Average in #Game Engine

license License

  • libgdx has a Non-SPDX License.
  • Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
libgdx License
Best in #Game Engine
Average in #Game Engine
libgdx License
Best in #Game Engine
Average in #Game Engine

buildReuse

  • libgdx releases are available to install and integrate.
  • Deployable package is available in Maven.
  • Build file is available. You can build the component from source.
  • libgdx saves you 643162 person hours of effort in developing the same functionality from scratch.
  • It has 307119 lines of code, 45294 functions and 2465 files.
  • It has high code complexity. Code complexity directly impacts maintainability of the code.
libgdx Reuse
Best in #Game Engine
Average in #Game Engine
libgdx Reuse
Best in #Game Engine
Average in #Game Engine
Top functions reviewed by kandi - BETA

kandi has reviewed libgdx and discovered the below as its top functions. This is intended to give you an instant insight into libgdx implemented functionality, and help decide if they suit your requirements.

  • Merge two runs of runs .
  • This method is used to set the visibility of the UI view .
  • Initializes the FreeType library .
  • Formats a message with given pattern and arguments .
  • Get the local axis A .
  • called by uiceleration .
  • Called when a playback player has finished .
  • Returns true if the loop is looped .
  • Is the collision connected?
  • Sets the linear offset .

libgdx Key Features

libGDX is licensed under Apache 2.0 meaning you can use it free of charge, without strings attached in commercial and non-commercial projects. We, however, love to get (non-mandatory) credit in case you release a game or app using libGDX! See our showcase for a selection of some popular libGDX games. libGDX comes with batteries included and provides everything required to develop multi-platform 2D and 3D games with Java. libGDX also offers a very extensive third-party ecosystem. There are numerous tools and libraries that take a lot of work off the hands of developers. Take a look at awesome-libgdx for a curated list of libGDX-centered libraries and a good starting point for anyone new in the libGDX world.

How to separate ads View from Game View?

copy iconCopydownload iconDownload
//define the layout
layout = new RelativeLayout(this);

//adView Container RelativeLayout
RelativeLayout adContainerRL = new RelativeLayout(this);
adContainerRL.setBackgroundColor(Color.BLACK);
adContainerRL.setId(ViewCompat.generateViewId());
RelativeLayout.LayoutParams adContainerParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
adContainerParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
layout.addView(adContainerRL, adContainerParams);

//adView
AdView bannerAd = new AdView(this);
bannerAd.setAdUnitId("ca-app-pub-3940256099942544/6300978111"); //this is a test ad unit id
bannerAd.setAdSize(AdSize.BANNER);
RelativeLayout.LayoutParams adViewParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
adViewParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
adViewParams.addRule(RelativeLayout.CENTER_IN_PARENT);
adContainerRL.addView(bannerAd, adViewParams);

//gameView
View gameView = initializeForView(game, config);
RelativeLayout.LayoutParams gameViewParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
gameViewParams.addRule(RelativeLayout.BELOW, adContainerRL.getId());
layout.addView(gameView, gameViewParams);

//set the layout
setContentView(layout);

//load ad
AdRequest ad = new AdRequest.Builder().build();
bannerAd.loadAd(ad);
-----------------------
layout = new RelativeLayout(this);

//adView Container RelativeLayout
RelativeLayout adContainerRL = new RelativeLayout(this);
adContainerRL.setBackgroundColor(Color.BLACK);
adContainerRL.setId(ViewCompat.generateViewId());
RelativeLayout.LayoutParams adContainerParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
adContainerParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
layout.addView(adContainerRL, adContainerParams);

//adView
AdView bannerAd = new AdView(this);
bannerAd.setAdUnitId("ca-app-pub-3940256099942544/6300978111"); //this is a test ad unit id
bannerAd.setAdSize(AdSize.BANNER);
RelativeLayout.LayoutParams adViewParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
adViewParams.addRule(RelativeLayout.ALIGN_PARENT_TOP);
adViewParams.addRule(RelativeLayout.CENTER_IN_PARENT);
adContainerRL.addView(bannerAd, adViewParams);

//gameView
View gameView = initializeForView(game, config);
RelativeLayout.LayoutParams gameViewParams = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
gameViewParams.addRule(RelativeLayout.BELOW, adContainerRL.getId());
layout.addView(gameView, gameViewParams);

//set the layout
setContentView(layout);

//load ad
AdRequest ad = new AdRequest.Builder().build();
bannerAd.loadAd(ad);

Removing the proxy and host from Netbeans

copy iconCopydownload iconDownload
    ## For more details on how to configure your build environment visit
    # http://www.gradle.org/docs/current/userguide/build_environment.html
    #
    # Specifies the JVM arguments used for the daemon process.
    # The setting is particularly useful for tweaking memory settings.
    # Default value: -Xmx1024m -XX:MaxPermSize=256m
    # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
    #
    # When configured, Gradle will run in incubating parallel mode.
    # This option should only be used with decoupled projects. More details, visit
    # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
    # org.gradle.parallel=true
    #Sat Dec 25 18:51:22 CST 2021 
systemProp.http.proxyHost=SSTap 
systemProp.https.proxyHost=SSTap 
systemProp.https.proxyPort=25378 
systemProp.http.proxyPort=25378 
systemProp.https.nonProxyHosts=127.0.0.1
systemProp.http.nonProxyHosts=127.0.0.1

Libgdx Rendering Bitmap font to pixmap texture causes extremely slow rendering

copy iconCopydownload iconDownload
@Override
public void resize(int width, int height) {
    //...
    stage.getViewport().update(width, height, true);
    stage.getRoot().setCullingArea(
        new Rectangle(0f, 0f, stage.getViewport().getWorldWidth(), stage.getViewport().getWorldHeight())
    );
}

LibGDX / OpenGL Stencil Buffer masking not working

copy iconCopydownload iconDownload
// Draw the game
batch.setProjectionMatrix(camera.combined);
batch.begin();
    batch.draw(map, 0, 0);
batch.end();

// Draw the fog of war to a previously initialized FrameBuffer without first clearing the buffer
fogOfWarBuffer.begin(); 
    shapeRenderer.setProjectionMatrix(camera.combined);
    shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
        shapeRenderer.setColor(1, 1, 1, 0);
        shapeRenderer.circle(position.x, position.y, 64, 16);
    shapeRenderer.end();
fogOfWarBuffer.end();

// Draw the FrameBuffer as a texture
batch.begin();
    batch.draw(fogOfWarRegion, 0, 0, camera.viewportWidth, camera.viewportHeight);
batch.end();
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.glutils.FrameBuffer;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Vector2;

public class FogOfWarGame extends Game {
    OrthographicCamera camera;
    ShapeRenderer shapeRenderer;
    SpriteBatch batch;
    Texture map;
    FrameBuffer fogOfWarBuffer;
    TextureRegion fogOfWarRegion;
    Vector2 position;
    Vector2 direction = new Vector2(1.0f, 0.0f);

    @Override
    public void create() {
        position = new Vector2(Gdx.graphics.getWidth()/2.0f, Gdx.graphics.getHeight()/2.0f);
        camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        camera.position.set(camera.viewportWidth / 2.0f, camera.viewportHeight / 2.0f, 0.0f);
        camera.update();

        map = new Texture("zelda.png");

        fogOfWarBuffer = new FrameBuffer(Pixmap.Format.RGBA8888, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
        fogOfWarBuffer.begin();
        {
            Gdx.gl.glClearColor(1.0f, 0.5f, 0.8f, 1.0f);
            Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        }
        fogOfWarBuffer.end();

        fogOfWarRegion = new TextureRegion(fogOfWarBuffer.getColorBufferTexture());
        fogOfWarRegion.flip(false, true);

        shapeRenderer = new ShapeRenderer();
        batch = new SpriteBatch();
    }

    @Override
    public void render() {
        position.add(direction);
        if (MathUtils.random() > 0.9f)
            direction.rotateDeg(MathUtils.random(-45, 45));

        // Draw the game
        batch.setProjectionMatrix(camera.combined);
        batch.begin();
            batch.draw(map, 0, 0);
        batch.end();

        // Draw the fog of war to a previously initialized FrameBuffer without first clearing the buffer
        fogOfWarBuffer.begin();
            shapeRenderer.setProjectionMatrix(camera.combined);
            shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
                shapeRenderer.setColor(1, 1, 1, 0);
                shapeRenderer.circle(position.x, position.y, 64, 16);
            shapeRenderer.end();
        fogOfWarBuffer.end();

        // Draw the FrameBuffer as a texture
        batch.begin();
            batch.draw(fogOfWarRegion, 0, 0, camera.viewportWidth, camera.viewportHeight);
        batch.end();
    }
}
-----------------------
// Draw the game
batch.setProjectionMatrix(camera.combined);
batch.begin();
    batch.draw(map, 0, 0);
batch.end();

// Draw the fog of war to a previously initialized FrameBuffer without first clearing the buffer
fogOfWarBuffer.begin(); 
    shapeRenderer.setProjectionMatrix(camera.combined);
    shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
        shapeRenderer.setColor(1, 1, 1, 0);
        shapeRenderer.circle(position.x, position.y, 64, 16);
    shapeRenderer.end();
fogOfWarBuffer.end();

// Draw the FrameBuffer as a texture
batch.begin();
    batch.draw(fogOfWarRegion, 0, 0, camera.viewportWidth, camera.viewportHeight);
batch.end();
import com.badlogic.gdx.Game;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL20;
import com.badlogic.gdx.graphics.OrthographicCamera;
import com.badlogic.gdx.graphics.Pixmap;
import com.badlogic.gdx.graphics.Texture;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.TextureRegion;
import com.badlogic.gdx.graphics.glutils.FrameBuffer;
import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
import com.badlogic.gdx.math.MathUtils;
import com.badlogic.gdx.math.Vector2;

public class FogOfWarGame extends Game {
    OrthographicCamera camera;
    ShapeRenderer shapeRenderer;
    SpriteBatch batch;
    Texture map;
    FrameBuffer fogOfWarBuffer;
    TextureRegion fogOfWarRegion;
    Vector2 position;
    Vector2 direction = new Vector2(1.0f, 0.0f);

    @Override
    public void create() {
        position = new Vector2(Gdx.graphics.getWidth()/2.0f, Gdx.graphics.getHeight()/2.0f);
        camera = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
        camera.position.set(camera.viewportWidth / 2.0f, camera.viewportHeight / 2.0f, 0.0f);
        camera.update();

        map = new Texture("zelda.png");

        fogOfWarBuffer = new FrameBuffer(Pixmap.Format.RGBA8888, Gdx.graphics.getWidth(), Gdx.graphics.getHeight(), false);
        fogOfWarBuffer.begin();
        {
            Gdx.gl.glClearColor(1.0f, 0.5f, 0.8f, 1.0f);
            Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
        }
        fogOfWarBuffer.end();

        fogOfWarRegion = new TextureRegion(fogOfWarBuffer.getColorBufferTexture());
        fogOfWarRegion.flip(false, true);

        shapeRenderer = new ShapeRenderer();
        batch = new SpriteBatch();
    }

    @Override
    public void render() {
        position.add(direction);
        if (MathUtils.random() > 0.9f)
            direction.rotateDeg(MathUtils.random(-45, 45));

        // Draw the game
        batch.setProjectionMatrix(camera.combined);
        batch.begin();
            batch.draw(map, 0, 0);
        batch.end();

        // Draw the fog of war to a previously initialized FrameBuffer without first clearing the buffer
        fogOfWarBuffer.begin();
            shapeRenderer.setProjectionMatrix(camera.combined);
            shapeRenderer.begin(ShapeRenderer.ShapeType.Filled);
                shapeRenderer.setColor(1, 1, 1, 0);
                shapeRenderer.circle(position.x, position.y, 64, 16);
            shapeRenderer.end();
        fogOfWarBuffer.end();

        // Draw the FrameBuffer as a texture
        batch.begin();
            batch.draw(fogOfWarRegion, 0, 0, camera.viewportWidth, camera.viewportHeight);
        batch.end();
    }
}
-----------------------
        //enable stencil and depth testing
        gl.glEnable(GL_STENCIL_TEST);
        gl.glEnable(GL_DEPTH_TEST);
        //enable blending because our fog has alpha
        Gdx.gl.glEnable(GL20.GL_BLEND);
        Gdx.gl.glBlendFunc(GL20.GL_SRC_ALPHA, GL20.GL_ONE_MINUS_SRC_ALPHA);
        //stencil op which writes to stencil when test passes
        gl.glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
        //clear stencil buffer
        gl.glClear(GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
        //always pass the stencil test and mask to accept all values
        gl.glStencilFunc(GL_ALWAYS, 1, 0xFF);
        gl.glStencilMask(0xFF);

        //draw our cut out circles
        drawCircles();

        //change stencil function to only match where stencil was written
        gl.glStencilFunc(GL_NOTEQUAL, 1, 0xFF);
        //change mask so nothing is written to stencil
        gl.glStencilMask(0x00);


        drawFog();

        //disable features
        gl.glDisable(GL_STENCIL_TEST);
        gl.glDisable(GL_DEPTH_TEST);
        gl.glDisable(GL_BLEND);

Scala with LibGDX outputs error when creating Animation

copy iconCopydownload iconDownload
walkAnimation = new Animation(1f/4f, frames:_*)
Animation(float frameDuration, T... keyFrames)

import com.badlogic.gdx.utils.{Array => GDXArray}
val frames: GDXArray[TextureRegion] = new GDXArray(TextureRegion.split(walkSheet, walkSheet.getWidth / 1, walkSheet.getHeight / 10).flatMap(_.toList))
walkAnimation = new Animation(1f/4f, frames)
  
-----------------------
walkAnimation = new Animation(1f/4f, frames:_*)
Animation(float frameDuration, T... keyFrames)

import com.badlogic.gdx.utils.{Array => GDXArray}
val frames: GDXArray[TextureRegion] = new GDXArray(TextureRegion.split(walkSheet, walkSheet.getWidth / 1, walkSheet.getHeight / 10).flatMap(_.toList))
walkAnimation = new Animation(1f/4f, frames)
  
-----------------------
walkAnimation = new Animation(1f/4f, frames:_*)
Animation(float frameDuration, T... keyFrames)

import com.badlogic.gdx.utils.{Array => GDXArray}
val frames: GDXArray[TextureRegion] = new GDXArray(TextureRegion.split(walkSheet, walkSheet.getWidth / 1, walkSheet.getHeight / 10).flatMap(_.toList))
walkAnimation = new Animation(1f/4f, frames)
  

Plugin with id 'org.wisepersist.gradle' not found

copy iconCopydownload iconDownload
buildscript {
  repositories {
    maven {
      url "https://plugins.gradle.org/m2/"
    }
  }
  dependencies {
    classpath "org.wisepersist:gwt-gradle-plugin:1.1.15"
  }
}

apply plugin: "org.wisepersist.gwt"

How can I stop my textures from becoming low resolution in libGDX

copy iconCopydownload iconDownload
textureObject.setFilter(TextureFilter.Nearest, TextureFilter.Nearest);

using serial monitor as a button input for LibGDX game

copy iconCopydownload iconDownload
    // Runnable class, listens for serial input
    public class serialListener implements Runnable {
        
        @Override
        public void run() {
            // Listen for input, and calls corresponding methods in your game
        }
    }
    public class myGame extends GameAdapter {
        
        private serialListener listener = new serialListener();
        private Thread ListenerThread;
        
        @Override
        public void Create(){
            ListenerThread = new Thread(listener);
            ListenerThread.setDaemon(true);
            ListenerThread.start();
        }
    }
-----------------------
    // Runnable class, listens for serial input
    public class serialListener implements Runnable {
        
        @Override
        public void run() {
            // Listen for input, and calls corresponding methods in your game
        }
    }
    public class myGame extends GameAdapter {
        
        private serialListener listener = new serialListener();
        private Thread ListenerThread;
        
        @Override
        public void Create(){
            ListenerThread = new Thread(listener);
            ListenerThread.setDaemon(true);
            ListenerThread.start();
        }
    }
-----------------------
#include "Keyboard.h"

#define left 2
#define right 3

void setup() {
  //start a serial connection, because the keyboard uses this connection
  Serial.begin(9600);
  //create a keyboard
  Keyboard.begin();
}
 
void loop() {
  if(digitalRead(left))
  {
    Keyboard.write(KEY_LEFT_ARROW);// the KEY_LEFT_ARROW is defined in Keyboard.h
  }
  if(digitalRead(right))
  {
    Keyboard.write(KEY_RIGHT_ARROW);
  }
  // ...other keys...

  delay(100);//debounce button
}

HTTP request fails even if the connection is active

copy iconCopydownload iconDownload
 networkaddress.cache.ttl = 0
 networkaddress.cache.negative.ttl = 0
-----------------------
StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);

For loop while removing items from ArrayList

copy iconCopydownload iconDownload
val list = arrayListOf<Int>()
val listIterator = list.iterator()
while(listIterator.hasNext()){
    //get item
    val item = listIterator.next() 
    //items can be removed safely using
    listIterator.remove()
}
-----------------------
private val texture = Texture("badlogic.jpg")
private val myArray = Array<Texture>()

    fun dispose(){
       myArray[i].dispose()
    }

Community Discussions

Trending Discussions on libgdx
  • How can I use the Android String Translation in a LibGDX Project?
  • Noob question using legacy LWJGL with canvas
  • How to separate ads View from Game View?
  • Removing the proxy and host from Netbeans
  • Event handling in libgdx not working as expected
  • Libgdx Rendering Bitmap font to pixmap texture causes extremely slow rendering
  • LibGDX / OpenGL Stencil Buffer masking not working
  • Scala with LibGDX outputs error when creating Animation
  • LibGDX cant find .tsx file
  • Plugin with id 'org.wisepersist.gradle' not found
Trending Discussions on libgdx

QUESTION

How can I use the Android String Translation in a LibGDX Project?

Asked 2022-Mar-23 at 23:10

I'm trying to use the Android String Resources for an LibGDX Project.

Unfortunately, I can only access the getString()-Method and the R class from the android package.

What can I do to access them from also the core package?

Or is it even better to use another solution for translation files?

ANSWER

Answered 2022-Mar-23 at 23:10

Three different paths you can take:

  1. Merge your core module code into the android module and simply don't use core. The downside with doing this is you will lose the ability to easily test on your desktop (it's faster to compile a desktop build for rapidly testing code changes), and you lose the ability to port to other platforms like desktop and iOS.

  2. Use libGDX's localization classes to manage your strings in different languages, instead of Android resources. There are instructions on how to use it here. This is the easiest solution, and it keeps it cross-platform.

  3. Maybe you could write some kind of Gradle task that extracts your String IDs from the generated R class each time you build your Android module, and makes copies of them available in a Java class in your core module, and uses them to retrieve Strings from the XML through some kind of interface. This is the super difficult solution.

Source https://stackoverflow.com/questions/71585736

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

No vulnerabilities reported

Install libgdx

You can download it from GitHub, Maven.
You can use libgdx like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the libgdx component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

Support

As we use Gradle, there's no need to download libGDX itself – this can all be done by your favorite build tool. We also offer a setup tool, which automatically creates a project for you and downloads everything necessary. See our website for instructions on how to get started with this or read our wiki. We also provide javadocs online. The javadocs are bundled with every libGDX distribution for consumption in your favorite IDE.

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

Share this Page

share link
Reuse Pre-built Kits with libgdx
Compare Game Engine Libraries with Highest Support
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.