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(){
|
||||
private boolean isTouchInHotbar = false;
|
||||
private int hotbarX, hotbarY;
|
||||
private float prevX, prevY;
|
||||
@Override
|
||||
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()));
|
||||
|
||||
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());
|
||||
if (!CallbackBridge.isGrabbing() && gestureDetector.onTouchEvent(e)) {
|
||||
|
|
@ -380,6 +374,8 @@ public class BaseMainActivity extends LoggableActivity {
|
|||
} else {
|
||||
CallbackBridge.mouseX = mouse_x;
|
||||
CallbackBridge.mouseY = mouse_y;
|
||||
prevX = e.getX();
|
||||
prevY = e.getY();
|
||||
CallbackBridge.sendCursorPos(mouse_x, mouse_y);
|
||||
if (!rightOverride) {
|
||||
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());
|
||||
CallbackBridge.DEBUG_STRING.setLength(0);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue