Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.mygdx.Squaizer;
- import java.util.Iterator;
- import java.util.LinkedList;
- import com.badlogic.gdx.ApplicationAdapter;
- import com.badlogic.gdx.Gdx;
- import com.badlogic.gdx.graphics.GL20;
- import com.badlogic.gdx.graphics.OrthographicCamera;
- import com.badlogic.gdx.graphics.Texture;
- import com.badlogic.gdx.graphics.g2d.Sprite;
- import com.badlogic.gdx.graphics.g2d.SpriteBatch;
- import com.badlogic.gdx.graphics.glutils.ShapeRenderer;
- import com.badlogic.gdx.input.GestureDetector;
- import com.badlogic.gdx.math.Vector2;
- import com.badlogic.gdx.math.Vector3;
- import com.badlogic.gdx.utils.TimeUtils;
- import com.badlogic.gdx.utils.Timer;
- public class MyGdxGameSquaizer extends ApplicationAdapter {
- public static SpriteBatch batch;
- float originAspect;
- float currentAspect;
- Sprite playerSprite;
- Joystick j1, j2;
- OrthographicCamera cam;
- Player currPlayer;
- Square s;
- LinkedList<Projectile> pewpews;
- LinkedList<Square> entities;
- TimeUtils timer;
- long startingTime;
- long currentTime;
- int mover;
- int shooter;
- Texture bg, playerTexture, joystickTexture;
- @Override
- public void create () {
- cam = new OrthographicCamera(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
- cam.setToOrtho(false, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
- cam.update();
- batch = new SpriteBatch();
- bg = new Texture("Squaizer-bg.png");
- currPlayer = new Player("Squaizer-player.png", new Vector2(Gdx.graphics.getWidth() / 2,Gdx.graphics.getHeight() / 2), 2);
- s = new Square("Squaizer-player.png", new Vector2(100,500), 0);
- currentAspect = (Gdx.graphics.getWidth() * Gdx.graphics.getHeight() / (1280 * 736));
- j1 = new Joystick(50f,50f, currPlayer, currentAspect);
- j2 = new Joystick(Gdx.graphics.getWidth() - 150 - 50, 50, currPlayer, currentAspect);
- Gdx.input.setInputProcessor(new GestureDetector(new MyGestureListener(j1, j2, cam)));
- pewpews = new LinkedList<Projectile>();
- startingTime = TimeUtils.millis();
- mover = -1;
- shooter = -1;
- }
- @Override
- public void render () {
- currentTime = TimeUtils.timeSinceMillis(startingTime);
- //GAME MECHANICS HERE
- updateGameState();
- //GAME MECHANICS HERE
- Gdx.gl.glClearColor(1, 0, 0, 1);
- Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
- batch.setProjectionMatrix(cam.combined);
- Vector3 input0 = new Vector3(10,10,0);
- batch.begin();
- batch.draw(bg, 0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
- s.draw(batch);
- currPlayer.move();
- currPlayer.draw(batch);
- if(Gdx.input.isTouched(0)){
- input0.x = Gdx.input.getX(0);
- input0.y = Gdx.input.getY(0);
- cam.unproject(input0);
- if(Joystick.getJoystick(0) != null){
- Joystick.getJoystick(0).updateState(new Vector2(input0.x , input0.y), pewpews, 0);
- }
- else if(j1.isInCircle(input0.x , input0.y)){
- if(mover == 1){
- shooter = 0;
- double degrees = Math.toDegrees(Math.atan2(input0.y - (currPlayer.sprite.getY() + currPlayer.sprite.getOriginY()), input0.x - (currPlayer.sprite.getX() + currPlayer.sprite.getOriginX())));
- this.currPlayer.rotateSprite((float)degrees);
- this.currPlayer.shoot(pewpews);
- j1.deActivate();
- }
- else{
- j1.updateState(new Vector2(input0.x , input0.y), pewpews, 0);
- mover = 0;
- }
- }
- else if(j2.isInCircle(input0.x , input0.y)){
- if(mover == 1){
- shooter = 0;
- double degrees = Math.toDegrees(Math.atan2(input0.y - (currPlayer.sprite.getY() + currPlayer.sprite.getOriginY()), input0.x - (currPlayer.sprite.getX() + currPlayer.sprite.getOriginX())));
- this.currPlayer.rotateSprite((float)degrees);
- this.currPlayer.shoot(pewpews);
- j2.deActivate();
- }
- else{
- j2.updateState(new Vector2(input0.x , input0.y), pewpews, 0);
- mover = 0;
- }
- }
- else if(shooter != 1){
- shooter = 0;
- double degrees = Math.toDegrees(Math.atan2(input0.y - (currPlayer.sprite.getY() + currPlayer.sprite.getOriginY()), input0.x - (currPlayer.sprite.getX() + currPlayer.sprite.getOriginX())));
- this.currPlayer.rotateSprite((float)degrees);
- this.currPlayer.shoot(pewpews);
- }
- }
- else{
- if(shooter == 0)
- shooter = -1;
- if(mover == 0){
- Joystick.getJoystick(0).deActivate();
- mover = -1;
- }
- }
- if(Gdx.input.isTouched(1)){
- input0.x = Gdx.input.getX(1);
- input0.y = Gdx.input.getY(1);
- cam.unproject(input0);
- if(Joystick.getJoystick(1) != null){
- Joystick.getJoystick(1).updateState(new Vector2(input0.x , input0.y), pewpews, 1);
- }
- else if(j1.isInCircle(input0.x , input0.y)){
- if(mover == 0){
- shooter = 1;
- double degrees = Math.toDegrees(Math.atan2(input0.y - (currPlayer.sprite.getY() + currPlayer.sprite.getOriginY()), input0.x - (currPlayer.sprite.getX() + currPlayer.sprite.getOriginX())));
- this.currPlayer.rotateSprite((float)degrees);
- this.currPlayer.shoot(pewpews);
- j1.deActivate();
- }
- else{
- j1.updateState(new Vector2(input0.x , input0.y), pewpews, 1);
- mover = 1;
- }
- }
- else if(j2.isInCircle(input0.x , input0.y)){
- if(mover == 0){
- shooter = 1;
- double degrees = Math.toDegrees(Math.atan2(input0.y - (currPlayer.sprite.getY() + currPlayer.sprite.getOriginY()), input0.x - (currPlayer.sprite.getX() + currPlayer.sprite.getOriginX())));
- this.currPlayer.rotateSprite((float)degrees);
- this.currPlayer.shoot(pewpews);
- j2.deActivate();
- }
- else{
- j2.updateState(new Vector2(input0.x , input0.y), pewpews, 1);
- mover = 1;
- }
- }
- else if(shooter != 0){
- shooter = 1;
- double degrees = Math.toDegrees(Math.atan2(input0.y - (currPlayer.sprite.getY() + currPlayer.sprite.getOriginY()), input0.x - (currPlayer.sprite.getX() + currPlayer.sprite.getOriginX())));
- this.currPlayer.rotateSprite((float)degrees);
- this.currPlayer.shoot(pewpews);
- }
- }
- else{
- if(shooter == 1)
- shooter = -1;
- if(mover == 1){
- Joystick.getJoystick(1).deActivate();
- mover = -1;
- }
- }
- System.out.println("Mover: "+ mover);
- System.out.println("Shooter: "+ shooter);
- if(!pewpews.isEmpty()) {
- for(Iterator<Projectile> iter = pewpews.iterator(); iter.hasNext();) {
- Projectile p = iter.next();
- p.draw(batch);
- p.move();
- if (p.outOfBounds()){
- iter.remove();
- }
- }
- }
- j1.draw(batch);
- j2.draw(batch);
- batch.end();
- /* HITBOX TEST
- ShapeRenderer rend = new ShapeRenderer();
- LinkedList<Vector2[]> l = currPlayer.lineList();
- rend.setProjectionMatrix(cam.combined);
- rend.begin(ShapeRenderer.ShapeType.Line);
- rend.setColor(0,0,1,0);
- rend.line(l.get(0)[0].x, l.get(0)[0].y, l.get(0)[1].x, l.get(0)[1].y);
- rend.line(l.get(1)[0].x, l.get(1)[0].y, l.get(1)[1].x, l.get(1)[1].y);
- rend.line(l.get(2)[0].x, l.get(2)[0].y, l.get(2)[1].x, l.get(2)[1].y);
- rend.line(l.get(3)[0].x, l.get(3)[0].y, l.get(3)[1].x, l.get(3)[1].y);
- rend.end();*/
- System.out.println(Gdx.graphics.getWidth() + " " + Gdx.graphics.getHeight());
- }
- private void updateGameState(){
- //System.out.println(currentTime);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement