~repos /gdx-studio
git clone https://pyrossh.dev/repos/gdx-studio.git
An IDE for creating Games using libgdx and Java supported on all platforms Android, iOS, Desktop
test/source/Game.java
package source;
import com.badlogic.gdx.scenes.scene2d.Actor;import com.badlogic.gdx.scenes.scene2d.ui.Label;import com.badlogic.gdx.scenes.scene2d.actions.Actions;import scene2d.*;
/** A Basic Game Scene for the Game * <p> * The Game Scene consists of all the characters, Huds, controllers for the game. All the logic for * the game is written in the public void act(float delta) method. * In this method we ckeck all the * conditions for the player to win the level and changes scenes accordingly. * <p> * @author pyros2097 */public class Game extends Scene { Label timer; float startTime; float diff; ImageJson player, enemy; float playerSpeed = 3f; boolean touchedDown = false; String btnName = "";
public Game(){ Camera.addHud("Up"); Camera.addHud("Right"); Camera.addHud("Left"); Camera.addHud("Down"); Camera.addHud("Timer"); Camera.addHud("Label3"); Camera.addHud("Fire");
Camera.setFollowSpeed(1f); player = (ImageJson) findActor("Player"); enemy = (ImageJson) findActor("Enemy"); Camera.followActorContinuously(player); timer = (Label)findActor("Timer"); startTime = gameUptime; }
@Override public void onTouchDown(Actor actor){ log(actor.getName()); touchedDown = true; btnName = actor.getName(); }
@Override public void onClick(Actor actor){ if(actor.getName().equals("Back")) setScene("Menu"); if(actor.getName().equals("Fire")) doFire(); }
void doFire(){ ImageJson bullet = new ImageJson("771"); bullet.setPosition(player.getX() + 50, player.getY() + 50); bullet.setSize(25, 25); bullet.addAction(Actions.sequence(Actions.moveBy(500, 0, 1f), Actions.removeActor(bullet))); addActor(bullet); }
@Override public void act(float delta){ super.act(delta); diff = gameUptime - startTime; timer.setText("Timer: "+diff); if(diff>=30) setScene("GameOver"); if(collides(player, enemy)) setScene("GameWin"); //player.clearActions(); switch(btnName){ case "Right": player.addAction(Actions.moveBy(playerSpeed, 0, 0.1f)); break; case "Up": player.addAction(Actions.moveBy(0, playerSpeed, 0.1f)); break; case "Left": player.addAction(Actions.moveBy(-playerSpeed, 0, 0.1f)); break; case "Down": player.addAction(Actions.moveBy(0, -playerSpeed, 0.1f)); break; } }
@Override public void onTouchUp(){ touchedDown = false; btnName = ""; }
@Override public void onDragged(){}
@Override public void onGesture(GestureType type){}
@Override public void onKeyTyped(char key){ }
@Override public void onKeyUp(int keycode){ }
@Override public void onKeyDown(int keycode){ }
@Override public void onPause(){ }
@Override public void onResume(){ }
@Override public void onDispose(){ }}