#java #android
#java #Android
Вопрос:
Я пытаюсь создать простую игру find the difference в Android, используя сенсорные координаты каждого различия, но когда я записываю координаты на одном устройстве, тогда все работает нормально. и когда я использую какое-то другое устройство, этих координат там нет. итак, есть ли какой-нибудь способ, которым я могу это решить
вот часть кода:
image1.setOnTouchListener(new View.OnTouchListener() {
@SuppressLint({"ClickableViewAccessibility", "UseCompatLoadingForDrawables"})
@Override
public boolean onTouch(View v, MotionEvent event) {
int X =(int) event.getX();
int Y =(int) event.getY();
String msg = "Coordinates are " X "and" Y;
int eventAction = event.getAction();
if(eventAction == MotionEvent.ACTION_DOWN){
int x = (int) event.getX();
int y = (int) event.getY();
if(checkPoint(X,Y) == true){
Toast.makeText(MainActivity.this,msg,Toast.LENGTH_SHORT).show();
}
private boolean checkPoint(int x, int y) {
int touchX = (int) x;
int touchY = y;
float centerX = 950, centerY = 600;
float radius = 100;
if (Math.pow(centerX-touchX , 2)
Math.pow(centerY-touchY , 2) < Math.pow(radius, 2))
{
Toast.makeText(MainActivity.this,"points inside circe",Toast.LENGTH_SHORT).show();
return true;
}
else
{
Toast.makeText(MainActivity.this,"points outside circle",Toast.LENGTH_SHORT).show();
return false;
}
return false;
}
Комментарии:
1. Пожалуйста, уточните «этих координат там нет». Являются ли они 0, не
onTouch()
вызываются или в чем именно проблема?2. @RalfKleberhoff, у меня есть два изображения, из которых я сам брал координату разницы, а затем проверял, касается ли пользователь этих координат, но это работает только на одном устройстве. поэтому мне нужна логика, из которой я мог бы получить различные различия между изображениями