Skip to content
Snippets Groups Projects
Commit 5656ea7f authored by Enes Ayata's avatar Enes Ayata
Browse files

réajustement déplacements sur Android + nettoyage du code

parent 1d3a9bc8
No related branches found
No related tags found
No related merge requests found
......@@ -126,8 +126,7 @@ public class AndroidController implements InputProcessor {
Vector3 ori = gameWorld.getGameScreen().getCamera().unproject(vector3);
//si le joueur 1 enlève son doigt, le vecteur vitesse est nul
if(moveJ1 && (pointer == pointeurJ1))
{
if(moveJ1 && (pointer == pointeurJ1)){
moveJ1=false;
vitesse.set(0,0);
pointeurJ1=-1;
......@@ -135,8 +134,8 @@ public class AndroidController implements InputProcessor {
}
//si le joueur 2 enlève son doigt, le vecteur vitesse est nul
if(moveJ2 && (pointer == pointeurJ2))
{
if(moveJ2 && (pointer == pointeurJ2)){
moveJ2=false;
vitesse2.set(0,0);
pointeurJ2=-1;
......@@ -151,8 +150,11 @@ public class AndroidController implements InputProcessor {
Vector3 ori = gameWorld.getGameScreen().getCamera().unproject(vector3);
//vérification de l'aire de contrôle et du bon pointeur
if(moveJ1 && (pointer == pointeurJ1) && ori.x >= gameWorld.getTerrain().getWidth()/2-gameWorld.getTerrain().getWidth()/8)
{
if(moveJ1 && (pointer == pointeurJ1) ){
//si l'abscisse du deuxième point dépasse de la zone acoordée, on réajuste l'abscisse du point
if(ori.x< gameWorld.getTerrain().getWidth()/2-gameWorld.getTerrain().getWidth()/8){
ori.x=gameWorld.getTerrain().getWidth()/2-gameWorld.getTerrain().getWidth()/8;
}
//définition du deuxième point du vecteur vitesse appliqué au joueur 1
xB= ori.x; yB=ori.y;
vitesse.set((xB- xA)*coeff,(yB- yA)*coeff);
......@@ -164,8 +166,12 @@ public class AndroidController implements InputProcessor {
}
//vérification de l'aire de contrôle et du bon pointeur
if(moveJ2 && (pointer == pointeurJ2) && ori.x <=0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8 )
{
if(moveJ2 && (pointer == pointeurJ2) ){
//si l'abscisse du deuxième point dépasse de la zone acoordée, on réajuste l'abscisse du point
if(ori.x> 0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8){
ori.x=0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8;
}
//définition du deuxième point du vecteur vitesse appliqué au joueur 2
xB2= ori.x; yB2=ori.y;
vitesse2.set((xB2- xA2)*coeff,(yB2- yA2)*coeff);
......
package com.miniball.controllers;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.InputProcessor;
import com.badlogic.gdx.input.GestureDetector;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.math.Vector3;
import com.miniball.models.GameWorld;
public class AndroidControllerBis implements InputProcessor {
private Vector2 vitesse;
private float coeff;
private GameWorld gameWorld;
private int compteur;
private float xA, yA, xB, yB;
public AndroidControllerBis(GameWorld gameWorld){
this.gameWorld=gameWorld;
this.coeff=100;
this.vitesse= new Vector2();
this.compteur=0;
}
public Vector2 getVitesse() {
return vitesse;
}
@Override
public boolean keyDown(int keycode) {
return false;
}
@Override
public boolean keyUp(int keycode) {
return false;
}
@Override
public boolean keyTyped(char character) {
return false;
}
@Override
public boolean touchDown(int screenX, int screenY, int pointer, int button) {
return false;
}
@Override
public boolean touchUp(int screenX, int screenY, int pointer, int button) {
return false;
}
@Override
public boolean touchDragged(int screenX, int screenY, int pointer) {
Vector3 vector3 = new Vector3(screenX, screenY, 0);
boolean move = false;
Vector3 ori = gameWorld.getGameScreen().getCamera().unproject(vector3);
if(compteur%2==0){
xA=ori.x;
yA=ori.y;
}else{
xB=ori.x;
yB=ori.y;
move = true;
}
if ( move) {
if( xB > 0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8 && xA <= 0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8){
xB=xA;
yA=0;
yB=0;
}else if( xA > 0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8 && xB <= 0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8 ){
xA=xB;
yA=0;
yB=0;
}else if(xA > 0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8 && xB > 0-gameWorld.getTerrain().getWidth()/2+gameWorld.getTerrain().getWidth()/8){
xA=0;
xB=0;
yA=0;
yB=0;
}else if(gameWorld.displayImg()){
xA=0;
xB=0;
yA=0;
yB=0;
}
vitesse.x=(xB - xA) * 100;
vitesse.y =(yB - yA) * 100;
}
++compteur;
return false;
}
@Override
public boolean mouseMoved(int screenX, int screenY) {
return false;
}
@Override
public boolean scrolled(float amountX, float amountY) {
return false;
}
}
......@@ -15,7 +15,6 @@ import com.badlogic.gdx.utils.Align;
import com.badlogic.gdx.utils.viewport.FitViewport;
import com.miniball.MiniBall;
import com.miniball.controllers.AndroidController;
import com.miniball.controllers.AndroidControllerBis;
import com.miniball.controllers.DesktopController;
import com.miniball.controllers.DesktopControllerBis;
import com.miniball.datafactories.FontPerso;
......@@ -44,7 +43,6 @@ public class GameScreen extends ScreenAdapter {
private Texture goalTexture;
private DesktopController desktopController;
private DesktopControllerBis desktopControllerBis;
private AndroidControllerBis androidControllerBis;
private AndroidController androidController;
private GameWorld gameWorld;
private Box2DDebugRenderer box2DDebugRenderer;
......@@ -77,12 +75,10 @@ public class GameScreen extends ScreenAdapter {
this.desktopController= new DesktopController(gameWorld);
this.desktopControllerBis= new DesktopControllerBis(gameWorld);
this.androidController = new AndroidController(gameWorld);
this.androidControllerBis= new AndroidControllerBis(gameWorld);
InputMultiplexer inputMultiplexer = new InputMultiplexer();
inputMultiplexer.addProcessor(desktopController);
inputMultiplexer.addProcessor(desktopControllerBis);
inputMultiplexer.addProcessor(androidController);
inputMultiplexer.addProcessor(androidControllerBis);
Gdx.input.setInputProcessor(inputMultiplexer);
this.box2DDebugRenderer=new Box2DDebugRenderer();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment