mirror of
https://github.com/2009scape/2009Scape-mobile.git
synced 2025-12-20 05:20:14 -07:00
Add a more robust camera tracking
This commit is contained in:
parent
62ac772904
commit
e8e4089e91
1 changed files with 21 additions and 8 deletions
|
|
@ -320,6 +320,7 @@ public class BaseMainActivity extends LoggableActivity {
|
||||||
glTouchListener = new OnTouchListener(){
|
glTouchListener = new OnTouchListener(){
|
||||||
private boolean isTouchInHotbar = false;
|
private boolean isTouchInHotbar = false;
|
||||||
private int hotbarX, hotbarY;
|
private int hotbarX, hotbarY;
|
||||||
|
private float prevX, prevY;
|
||||||
@Override
|
@Override
|
||||||
public boolean onTouch(View p1, MotionEvent e) {
|
public boolean onTouch(View p1, MotionEvent e) {
|
||||||
|
|
||||||
|
|
@ -346,14 +347,7 @@ public class BaseMainActivity extends LoggableActivity {
|
||||||
|
|
||||||
// System.out.println("Pre touch, isTouchInHotbar=" + Boolean.toString(isTouchInHotbar) + ", action=" + MotionEvent.actionToString(e.getActionMasked()));
|
// System.out.println("Pre touch, isTouchInHotbar=" + Boolean.toString(isTouchInHotbar) + ", action=" + MotionEvent.actionToString(e.getActionMasked()));
|
||||||
|
|
||||||
if(e.getHistorySize() > 0 && CallbackBridge.isGrabbing()) {
|
|
||||||
mouse_x += (int)(e.getX() - e.getHistoricalX(0));
|
|
||||||
mouse_y += (int)(e.getY() - e.getHistoricalY(0));
|
|
||||||
}
|
|
||||||
if(!CallbackBridge.isGrabbing()) {
|
|
||||||
mouse_x = (int) (e.getX() * scaleFactor);
|
|
||||||
mouse_y = (int) (e.getY() * scaleFactor);
|
|
||||||
}
|
|
||||||
|
|
||||||
int hudKeyHandled = handleGuiBar((int)e.getX(), (int)e.getY());
|
int hudKeyHandled = handleGuiBar((int)e.getX(), (int)e.getY());
|
||||||
if (!CallbackBridge.isGrabbing() && gestureDetector.onTouchEvent(e)) {
|
if (!CallbackBridge.isGrabbing() && gestureDetector.onTouchEvent(e)) {
|
||||||
|
|
@ -380,6 +374,8 @@ public class BaseMainActivity extends LoggableActivity {
|
||||||
} else {
|
} else {
|
||||||
CallbackBridge.mouseX = mouse_x;
|
CallbackBridge.mouseX = mouse_x;
|
||||||
CallbackBridge.mouseY = mouse_y;
|
CallbackBridge.mouseY = mouse_y;
|
||||||
|
prevX = e.getX();
|
||||||
|
prevY = e.getY();
|
||||||
CallbackBridge.sendCursorPos(mouse_x, mouse_y);
|
CallbackBridge.sendCursorPos(mouse_x, mouse_y);
|
||||||
if (!rightOverride) {
|
if (!rightOverride) {
|
||||||
CallbackBridge.mouseLeft = true;
|
CallbackBridge.mouseLeft = true;
|
||||||
|
|
@ -453,6 +449,23 @@ public class BaseMainActivity extends LoggableActivity {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*if(e.getHistorySize() > 0 && CallbackBridge.isGrabbing()) {
|
||||||
|
mouse_x += (int)(e.getX() - e.getHistoricalX(0))*4;
|
||||||
|
mouse_y += (int)(e.getY() - e.getHistoricalY(0))*4;
|
||||||
|
}*/
|
||||||
|
if(CallbackBridge.isGrabbing()){
|
||||||
|
if(e.getActionMasked() == MotionEvent.ACTION_MOVE){
|
||||||
|
mouse_x += (int) (e.getX() - prevX);
|
||||||
|
mouse_y += (int) (e.getY() - prevY);
|
||||||
|
prevX = e.getX();
|
||||||
|
prevY = e.getY();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(!CallbackBridge.isGrabbing()) {
|
||||||
|
mouse_x = (int) (e.getX() * scaleFactor);
|
||||||
|
mouse_y = (int) (e.getY() * scaleFactor);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
debugText.setText(CallbackBridge.DEBUG_STRING.toString());
|
debugText.setText(CallbackBridge.DEBUG_STRING.toString());
|
||||||
CallbackBridge.DEBUG_STRING.setLength(0);
|
CallbackBridge.DEBUG_STRING.setLength(0);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue