У меня есть приложение, которое рисует 2 круга на экране.Однажды нарисованный, я могу перемещать один из кругов и размещать там, где я хочу.Есть ли способ определить, к какому кругу я прикоснулся, чтобы я мог переместить этот конкретный круг?В настоящее время я могу перемещать круг только по координатам в centreX centreY.
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN: {
if(xyFound == false) {
centreX = (int) ev.getX()-70;
centreY = (int) ev.getY()-70;
xyFound = true;
} else {
centreA = (int) ev.getX()-70;
centreB = (int) ev.getY()-70;
abFound = true;
bothCirclesInPlace = true;
invalidate();
}
}
case MotionEvent.ACTION_MOVE: {
if(xyFound == false){
centreX = (int) ev.getX()-70;
centreY = (int) ev.getY()-70;
xyFound = true;
}else{
centreA = (int) ev.getX()-70;
centreB = (int) ev.getY()-70;
bothCirclesInPlace = true;
invalidate();
} break;
}
.
[update1]
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_DOWN: {
float circ1Val = centreX + centreY;
float circ2Val = centreA + centreB;
float choice1 = circ1Val - (ev.getX() + ev.getY());
float choice2 = circ2Val - (ev.getX() + ev.getY());
float circleToBeMoved = choice1 < choice2 ? ;
.Я не уверен, что лучший способ рассчитать расстояние между каждым кругом и событием касания.это на правильных линиях?или есть лучший способ?спасибо