mirror of
https://github.com/Anuken/Mindustry.git
synced 2025-03-13 19:39:04 +07:00
Fixed buggy mobile zoom
This commit is contained in:
parent
6a6e80b6d8
commit
7937d99a73
@ -46,9 +46,7 @@ public class MobileInput extends InputHandler implements GestureListener{
|
||||
private final float edgePan = io.anuke.ucore.scene.ui.layout.Unit.dp.scl(60f);
|
||||
|
||||
//gesture data
|
||||
private Vector2 pinch1 = new Vector2(-1, -1), pinch2 = pinch1.cpy();
|
||||
private Vector2 vector = new Vector2();
|
||||
private float initzoom = -1;
|
||||
private boolean zoomed = false;
|
||||
/** Set of completed guides. */
|
||||
private ObjectSet<String> guides = new ObjectSet<>();
|
||||
@ -696,27 +694,15 @@ public class MobileInput extends InputHandler implements GestureListener{
|
||||
|
||||
@Override
|
||||
public boolean pinch(Vector2 initialPointer1, Vector2 initialPointer2, Vector2 pointer1, Vector2 pointer2){
|
||||
if(pinch1.x < 0){
|
||||
pinch1.set(initialPointer1);
|
||||
pinch2.set(initialPointer2);
|
||||
}
|
||||
|
||||
pinch1.set(pointer1);
|
||||
pinch2.set(pointer2);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean zoom(float initialDistance, float distance){
|
||||
if(initzoom < 0){
|
||||
initzoom = initialDistance;
|
||||
}
|
||||
|
||||
if(Math.abs(distance - initzoom) > io.anuke.ucore.scene.ui.layout.Unit.dp.scl(100f) && !zoomed){
|
||||
int amount = (distance > initzoom ? 1 : -1);
|
||||
if(Math.abs(distance - initialDistance) > io.anuke.ucore.scene.ui.layout.Unit.dp.scl(100f) && !zoomed){
|
||||
int amount = (distance > initialDistance ? 1 : -1);
|
||||
renderer.scaleCamera(Math.round(io.anuke.ucore.scene.ui.layout.Unit.dp.scl(amount)));
|
||||
initzoom = distance;
|
||||
zoomed = true;
|
||||
return true;
|
||||
}
|
||||
@ -726,8 +712,6 @@ public class MobileInput extends InputHandler implements GestureListener{
|
||||
|
||||
@Override
|
||||
public void pinchStop(){
|
||||
initzoom = -1;
|
||||
pinch2.set(pinch1.set(-1, -1));
|
||||
zoomed = false;
|
||||
}
|
||||
|
||||
|
@ -75,6 +75,7 @@ public class SectorsDialog extends FloatingDialog{
|
||||
addListener(new InputListener(){
|
||||
@Override
|
||||
public boolean touchDown(InputEvent event, float x, float y, int pointer, int button){
|
||||
if(pointer != 0) return false;
|
||||
Cursors.setHand();
|
||||
lastX = x;
|
||||
lastY = y;
|
||||
@ -83,6 +84,7 @@ public class SectorsDialog extends FloatingDialog{
|
||||
|
||||
@Override
|
||||
public void touchDragged(InputEvent event, float x, float y, int pointer){
|
||||
if(pointer != 0) return;
|
||||
panX -= x - lastX;
|
||||
panY -= y - lastY;
|
||||
|
||||
@ -92,6 +94,7 @@ public class SectorsDialog extends FloatingDialog{
|
||||
|
||||
@Override
|
||||
public void touchUp(InputEvent event, float x, float y, int pointer, int button){
|
||||
if(pointer != 0) return;
|
||||
Cursors.restoreCursor();
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user