v2.0.2: fixed bugs with dragging view + corners + controller cursor
This commit is contained in:
@@ -51,7 +51,7 @@ public class Camera extends Gizmo {
|
|||||||
|
|
||||||
public float[] matrix;
|
public float[] matrix;
|
||||||
|
|
||||||
public boolean scrollable = false;
|
public PointF edgeScroll;
|
||||||
public PointF scroll;
|
public PointF scroll;
|
||||||
public PointF centerOffset;
|
public PointF centerOffset;
|
||||||
|
|
||||||
@@ -123,6 +123,7 @@ public class Camera extends Gizmo {
|
|||||||
screenWidth = (int)(width * zoom);
|
screenWidth = (int)(width * zoom);
|
||||||
screenHeight = (int)(height * zoom);
|
screenHeight = (int)(height * zoom);
|
||||||
|
|
||||||
|
edgeScroll = new PointF();
|
||||||
scroll = new PointF();
|
scroll = new PointF();
|
||||||
centerOffset = new PointF();
|
centerOffset = new PointF();
|
||||||
|
|
||||||
|
|||||||
+2
-1
@@ -176,7 +176,7 @@ public class CellSelector extends ScrollArea {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPointerDown( PointerEvent event ) {
|
protected void onPointerDown( PointerEvent event ) {
|
||||||
|
camera.edgeScroll.set(-1);
|
||||||
if (event != curEvent && another == null) {
|
if (event != curEvent && another == null) {
|
||||||
|
|
||||||
if (curEvent.type == PointerEvent.Type.UP) {
|
if (curEvent.type == PointerEvent.Type.UP) {
|
||||||
@@ -199,6 +199,7 @@ public class CellSelector extends ScrollArea {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void onPointerUp( PointerEvent event ) {
|
protected void onPointerUp( PointerEvent event ) {
|
||||||
|
camera.edgeScroll.set(1);
|
||||||
if (pinching && (event == curEvent || event == another)) {
|
if (pinching && (event == curEvent || event == another)) {
|
||||||
|
|
||||||
pinching = false;
|
pinching = false;
|
||||||
|
|||||||
@@ -211,7 +211,7 @@ public class GameScene extends PixelScene {
|
|||||||
|
|
||||||
super.create();
|
super.create();
|
||||||
Camera.main.zoom( GameMath.gate(minZoom, defaultZoom + SPDSettings.zoom(), maxZoom));
|
Camera.main.zoom( GameMath.gate(minZoom, defaultZoom + SPDSettings.zoom(), maxZoom));
|
||||||
Camera.main.scrollable = true;
|
Camera.main.edgeScroll.set(1);
|
||||||
|
|
||||||
switch (SPDSettings.cameraFollow()) {
|
switch (SPDSettings.cameraFollow()) {
|
||||||
case 4: default: Camera.main.setFollowDeadzone(0); break;
|
case 4: default: Camera.main.setFollowDeadzone(0); break;
|
||||||
|
|||||||
@@ -238,7 +238,9 @@ public class PixelScene extends Scene {
|
|||||||
}
|
}
|
||||||
|
|
||||||
cameraShift.invScale(Camera.main.zoom);
|
cameraShift.invScale(Camera.main.zoom);
|
||||||
if (cameraShift.length() > 0 && Camera.main.scrollable){
|
cameraShift.x *= Camera.main.edgeScroll.x;
|
||||||
|
cameraShift.y *= Camera.main.edgeScroll.y;
|
||||||
|
if (cameraShift.length() > 0){
|
||||||
Camera.main.shift(cameraShift);
|
Camera.main.shift(cameraShift);
|
||||||
}
|
}
|
||||||
ControllerHandler.updateControllerPointer(virtualCursorPos, true);
|
ControllerHandler.updateControllerPointer(virtualCursorPos, true);
|
||||||
|
|||||||
Reference in New Issue
Block a user