// Set up touch screen gesture detector GestureDetector gestureDetector = new GestureDetector(new GestureDetector.GestureListener() { @Override public boolean touchDown(float x, float y, int pointer, int button) { if (x > tomPosition.x && x < tomPosition.x + tomTexture.getWidth() && y > tomPosition.y && y < tomPosition.y + tomTexture.getHeight()) { isTalking = true; tomTalkingSound.play(); } return true; }
import com.badlogic.gdx.ApplicationAdapter; import com.badlogic.gdx.Gdx; import com.badlogic.gdx.graphics.GL20; import com.badlogic.gdx.graphics.Texture; import com.badlogic.gdx.graphics.g2d.SpriteBatch; import com.badlogic.gdx.input.GestureDetector; import com.badlogic.gdx.math.Vector2; import com.badlogic.gdx.audio.Sound; // Set up touch screen gesture detector GestureDetector
Run the game on a device with a resolution of 240x320 pixels (you can use an emulator or a physical device). Tap on the cat to make it talk! The game logic is separated into clear and
if (isTalking) { // Update talking animation } } tomTexture = new Texture("talking_tom.png")
@Override public void render() { Gdx.gl.glClearColor(1, 1, 1, 1); Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
The code follows standard Java coding conventions and best practices. The game logic is separated into clear and concise methods, and the code uses meaningful variable names and comments.
@Override public void create() { batch = new SpriteBatch(); tomTexture = new Texture("talking_tom.png"); tomPosition = new Vector2(Gdx.graphics.getWidth() / 2, Gdx.graphics.getHeight() / 2); tomTalkingSound = Gdx.audio.newSound(Gdx.files.internal("tom_talking.wav")); tomMeowingSound = Gdx.audio.newSound(Gdx.files.internal("tom_meowing.wav"));