2015-09-30 2 views
0

У меня есть два спрайта, и их нужно трогать одновременно, поэтому я сделал два Vector2 xy и xy1.Легкий способ определить, был ли затронут спрайт?

//xy = x and y coordinate of pointer 1 
//xy1 = x x and y coordinate of pointer 2 

//faces is the class for the sprites 

if(xy.x >= faces.faceSpr.getX() && xy.x <= faces.faceSpr.getX() + faces.faceSpr.getWidth() &&    //detecting if xy and xy1 are inside the sprites 
        xy.y >= faces.faceSpr.getY() && xy.y <= faces.faceSpr.getY() + faces.faceSpr.getHeight() &&   //* 
        xy1.x >= faces.faceSpr1.getX() && xy1.x <= faces.faceSpr1.getX() + faces.faceSpr1.getWidth() &&  //* 
        xy1.y >= faces.faceSpr1.getY() && xy1.y <= faces.faceSpr1.getY() + faces.faceSpr1.getHeight())  //* 
       score += 1; 
      else if(xy1.x >= faces.faceSpr.getX() && xy1.x <= faces.faceSpr.getX() + faces.faceSpr.getWidth() &&  //* 
        xy1.y >= faces.faceSpr.getY() && xy1.y <= faces.faceSpr.getY() + faces.faceSpr.getHeight() &&  //* 
        xy.x >= faces.faceSpr1.getX() && xy.x <= faces.faceSpr1.getX() + faces.faceSpr1.getWidth() &&  //* 
        xy.y >= faces.faceSpr1.getY() && xy.y <= faces.faceSpr1.getY() + faces.faceSpr1.getHeight()) 

Я еще не протестировал, если этот код работает, есть ли более простой и лучший способ сделать это?

EDIT:

Я пытался использовать метод getBoundingRectangle() и он работает, но у меня есть проблемы с установкой его ПОлОжЕНИЕ.

sprite.getBoundingRectangle().setPosition(x,y); 
// then I check if it works 
System.out.println(sprite.getBoundingRectangle().getPostion); 

, но результат всегда 0.0, 0.0

ответ

1

Решение простое. Возьмите его прямоугольник и вызовите вызов.

sprite.getBoundingRectangle().contains(new Vector2D(touch.x,touch.y)); //or 
sprite.getBoundingRectangle().contains(touch.x, touch.y); // 

Убедитесь, что вы не спроектированы правильно.

+1

с его содержанием будет выдаваться только тогда, когда один спрайт полностью в другом спрайте. Я думаю, что правильный метод будет перекрываться или пересекаться, но не уверен в том, что op должен знать, когда коснулся не полностью –