mirror of
https://github.com/ZCShou/GoGoGo.git
synced 2026-06-13 21:00:55 +08:00
优化了摇杆的使用
This commit is contained in:
parent
3720cb7f0a
commit
3424a6dacb
@ -7,7 +7,7 @@ android {
|
||||
minSdkVersion 21
|
||||
targetSdkVersion 29
|
||||
versionCode 1
|
||||
versionName "1.0.1"
|
||||
versionName "1.0.2"
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
buildTypes {
|
||||
|
||||
Binary file not shown.
@ -1 +1 @@
|
||||
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.1","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
|
||||
[{"outputType":{"type":"APK"},"apkInfo":{"type":"MAIN","splits":[],"versionCode":1,"versionName":"1.0.2","enabled":true,"outputFile":"app-release.apk","fullName":"release","baseName":"release"},"path":"app-release.apk","properties":{}}]
|
||||
@ -68,6 +68,7 @@ public class ButtonView extends LinearLayout {
|
||||
} else {
|
||||
isCenter = false;
|
||||
btnCenter.setImageResource(R.drawable.ic_lock_open);
|
||||
|
||||
if (isNorth) {
|
||||
isNorth = false;
|
||||
btnNorth.setImageResource(R.drawable.ic_up);
|
||||
@ -100,10 +101,9 @@ public class ButtonView extends LinearLayout {
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
}
|
||||
}
|
||||
|
||||
if (mListener != null) {
|
||||
mListener.clickCenter();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,0, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -132,14 +132,20 @@ public class ButtonView extends LinearLayout {
|
||||
btnWestNorth.setImageResource(R.drawable.ic_left_up);
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(true,90, 1);
|
||||
}
|
||||
} else {
|
||||
isNorth = false;
|
||||
btnNorth.setImageResource(R.drawable.ic_up);
|
||||
btnCenter.performClick();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,90, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,90, 1);
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(90, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -167,14 +173,20 @@ public class ButtonView extends LinearLayout {
|
||||
btnWestNorth.setImageResource(R.drawable.ic_left_up);
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(true,270, 1);
|
||||
}
|
||||
} else {
|
||||
isSouth = false;
|
||||
btnSouth.setImageResource(R.drawable.ic_down);
|
||||
btnCenter.performClick();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,270, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,270, 1);
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(270, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -202,14 +214,20 @@ public class ButtonView extends LinearLayout {
|
||||
btnWestNorth.setImageResource(R.drawable.ic_left_up);
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(true,180, 1);
|
||||
}
|
||||
} else {
|
||||
isWest = false;
|
||||
btnWest.setImageResource(R.drawable.ic_left);
|
||||
btnCenter.performClick();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,180, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,180, 1);
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(180, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -237,14 +255,20 @@ public class ButtonView extends LinearLayout {
|
||||
btnWestNorth.setImageResource(R.drawable.ic_left_up);
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(true,0, 1);
|
||||
}
|
||||
} else {
|
||||
isEast = false;
|
||||
btnEast.setImageResource(R.drawable.ic_right);
|
||||
btnCenter.performClick();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,0, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,0, 1);
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(0, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -274,14 +298,20 @@ public class ButtonView extends LinearLayout {
|
||||
btnWestNorth.setImageResource(R.drawable.ic_left_up);
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(true,45, 1);
|
||||
}
|
||||
} else {
|
||||
isEastNorth = false;
|
||||
btnEastNorth.setImageResource(R.drawable.ic_right_up);
|
||||
btnCenter.performClick();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,45, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,45, 1);
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(45, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -310,14 +340,20 @@ public class ButtonView extends LinearLayout {
|
||||
btnWestNorth.setImageResource(R.drawable.ic_left_up);
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(true,315, 1);
|
||||
}
|
||||
} else {
|
||||
isEastSouth = false;
|
||||
btnEastSouth.setImageResource(R.drawable.ic_right_down);
|
||||
btnCenter.performClick();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,315, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,315, 1);
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(315, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -346,14 +382,20 @@ public class ButtonView extends LinearLayout {
|
||||
btnEastSouth.setImageResource(R.drawable.ic_right_down);
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(true,135, 1);
|
||||
}
|
||||
} else {
|
||||
isWestNorth = false;
|
||||
btnWestNorth.setImageResource(R.drawable.ic_left_up);
|
||||
btnCenter.performClick();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,135, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,135, 1);
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(135, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -382,14 +424,20 @@ public class ButtonView extends LinearLayout {
|
||||
btnEastSouth.setImageResource(R.drawable.ic_right_down);
|
||||
isWestNorth = false;
|
||||
btnWestNorth.setImageResource(R.drawable.ic_left_up);
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(true,225, 1);
|
||||
}
|
||||
} else {
|
||||
isWestSouth = false;
|
||||
btnWestSouth.setImageResource(R.drawable.ic_left_down);
|
||||
btnCenter.performClick();
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,225, 0);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(false,225, 1);
|
||||
}
|
||||
}
|
||||
if (mListener != null) {
|
||||
mListener.clickAngleInfo(225, 1);
|
||||
}
|
||||
}
|
||||
});
|
||||
@ -400,15 +448,10 @@ public class ButtonView extends LinearLayout {
|
||||
}
|
||||
|
||||
public interface ButtonViewClickListener {
|
||||
/**
|
||||
* 中间按钮被点击了
|
||||
*/
|
||||
void clickCenter();
|
||||
|
||||
/**
|
||||
* 点击的角度信息
|
||||
*/
|
||||
void clickAngleInfo(double angle, double r);
|
||||
void clickAngleInfo(Boolean auto, double angle, double r);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@ -42,7 +42,6 @@ public class JoyStick extends View {
|
||||
|
||||
// 移动
|
||||
private TimeCount time;
|
||||
boolean isAuto;
|
||||
double mAngle;
|
||||
double mSpeed;
|
||||
SharedPreferences sharedPreferences;
|
||||
@ -130,7 +129,6 @@ public class JoyStick extends View {
|
||||
@SuppressLint("InflateParams")
|
||||
private void initJoyStickView() {
|
||||
time = new TimeCount(1000, 1000);
|
||||
isAuto = false;
|
||||
String sSpeed = sharedPreferences.getString("setting_walk", "");
|
||||
if (sSpeed == null) {
|
||||
mSpeed = Double.parseDouble(getResources().getString(R.string.setting_walk_default));
|
||||
@ -234,23 +232,18 @@ public class JoyStick extends View {
|
||||
ButtonView btnView = mJoystickView.findViewById(R.id.joystick_view);
|
||||
btnView.setListener(new ButtonView.ButtonViewClickListener() {
|
||||
@Override
|
||||
public void clickCenter() {
|
||||
if (isAuto) {
|
||||
isAuto = false;
|
||||
public void clickAngleInfo(Boolean auto, double angle, double r) {
|
||||
if (r <= 0) {
|
||||
time.cancel();
|
||||
} else {
|
||||
isAuto = true;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void clickAngleInfo(double angle, double r) {
|
||||
mAngle = angle;
|
||||
mSpeed = mSpeed * r;
|
||||
if (isAuto) {
|
||||
time.start();
|
||||
} else {
|
||||
mListener.clickAngleInfo(mAngle, mSpeed);
|
||||
mAngle = angle;
|
||||
mSpeed = mSpeed * r;
|
||||
if (auto) {
|
||||
time.start();
|
||||
} else {
|
||||
time.cancel();
|
||||
mListener.clickAngleInfo(mAngle, mSpeed);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user