Java 检测sprite Y坐标

Java 检测sprite Y坐标,java,libgdx,Java,Libgdx,精灵正在向上移动,我希望在触摸时将其移除。 当我使用Gdx.input.getY()时,我能够通过X坐标检测精灵是否被触摸,但不能通过Y坐标检测精灵是否被触摸 这是X坐标检测的代码: if ( touched == true && touchX > sprite.getX() && touchX < sprite.getX() + sprite.getWidth() ) { enemyIterator.remove(); Po

精灵正在向上移动,我希望在触摸时将其移除。 当我使用
Gdx.input.getY()
时,我能够通过
X
坐标检测精灵是否被触摸,但不能通过
Y
坐标检测精灵是否被触摸

这是X坐标检测的代码:

if ( touched == true && touchX > sprite.getX() &&
     touchX < sprite.getX() + sprite.getWidth() ) {
    enemyIterator.remove();
    Pools.free(sprite);
}
if(touch==true&&touchX>sprite.getX()&&
touchX
要正确设置,应使用视口或相机的取消投影方法将屏幕坐标转换为世界坐标。然后在条件中使用转换(未投影)屏幕坐标

Vector2 unprojectedTouch = viewport.unproject(new Vector2(touchX, touchY));
//Vector3 unprojectedTouch = camera.unproject(new Vector3(touchX, touchY, 1));

if(touched==true && unprojectedTouch.x > sprite.getX() && unprojectedTouch.x < sprite.getX()+sprite.getWidth()){
      enemyIterator.remove();
      Pools.free(sprite);
}
Vector2 unprojectedTouch=viewport.unproject(新的Vector2(touchX,touchY));
//Vector3 unprojectedTouch=camera.unproject(新的Vector3(touchX,touchY,1));
如果(touch==true&&unprojectedTouch.x>sprite.getX()&&unprojectedTouch.x
视口的取消投影方法和摄影机的取消投影方法之间的唯一区别是,视口的取消投影方法在内部调用摄影机的取消投影方法,方法是将z坐标设置为可选,以使其更易于用于二维用途


请参阅:

要正确设置,应使用视口或摄影机的取消投影方法将屏幕坐标转换为世界坐标。然后在条件中使用转换(未投影)屏幕坐标

Vector2 unprojectedTouch = viewport.unproject(new Vector2(touchX, touchY));
//Vector3 unprojectedTouch = camera.unproject(new Vector3(touchX, touchY, 1));

if(touched==true && unprojectedTouch.x > sprite.getX() && unprojectedTouch.x < sprite.getX()+sprite.getWidth()){
      enemyIterator.remove();
      Pools.free(sprite);
}
Vector2 unprojectedTouch=viewport.unproject(新的Vector2(touchX,touchY));
//Vector3 unprojectedTouch=camera.unproject(新的Vector3(touchX,touchY,1));
如果(touch==true&&unprojectedTouch.x>sprite.getX()&&unprojectedTouch.x
视口的取消投影方法和摄影机的取消投影方法之间的唯一区别是,视口的取消投影方法在内部调用摄影机的取消投影方法,方法是将z坐标设置为可选,以使其更易于用于二维用途


请参阅:

要正确设置,应使用视口或摄影机的取消投影方法将屏幕坐标转换为世界坐标。然后在条件中使用转换(未投影)屏幕坐标

Vector2 unprojectedTouch = viewport.unproject(new Vector2(touchX, touchY));
//Vector3 unprojectedTouch = camera.unproject(new Vector3(touchX, touchY, 1));

if(touched==true && unprojectedTouch.x > sprite.getX() && unprojectedTouch.x < sprite.getX()+sprite.getWidth()){
      enemyIterator.remove();
      Pools.free(sprite);
}
Vector2 unprojectedTouch=viewport.unproject(新的Vector2(touchX,touchY));
//Vector3 unprojectedTouch=camera.unproject(新的Vector3(touchX,touchY,1));
如果(touch==true&&unprojectedTouch.x>sprite.getX()&&unprojectedTouch.x
视口的取消投影方法和摄影机的取消投影方法之间的唯一区别是,视口的取消投影方法在内部调用摄影机的取消投影方法,方法是将z坐标设置为可选,以使其更易于用于二维用途


请参阅:

要正确设置,应使用视口或摄影机的取消投影方法将屏幕坐标转换为世界坐标。然后在条件中使用转换(未投影)屏幕坐标

Vector2 unprojectedTouch = viewport.unproject(new Vector2(touchX, touchY));
//Vector3 unprojectedTouch = camera.unproject(new Vector3(touchX, touchY, 1));

if(touched==true && unprojectedTouch.x > sprite.getX() && unprojectedTouch.x < sprite.getX()+sprite.getWidth()){
      enemyIterator.remove();
      Pools.free(sprite);
}
Vector2 unprojectedTouch=viewport.unproject(新的Vector2(touchX,touchY));
//Vector3 unprojectedTouch=camera.unproject(新的Vector3(touchX,touchY,1));
如果(touch==true&&unprojectedTouch.x>sprite.getX()&&unprojectedTouch.x
视口的取消投影方法和摄影机的取消投影方法之间的唯一区别是,视口的取消投影方法在内部调用摄影机的取消投影方法,方法是将z坐标设置为可选,以使其更易于用于二维用途

请参阅:

Y是反向的。。。 您的Y代码应该如下所示(注意te page.getHeight(),页面是屏幕、画布、文档……可以随意调用。)

**UI元素和接触点的Y原点不同**

  if(touched==true
       && touchY > page.getHeight() - sprite.getY() 
       && touchY < page.getHeight() - sprite.getY()+sprite.getHeight()){
                       enemyIterator.remove();
                       Pools.free(sprite);
    }**
if(toucted==true
&&touchY>page.getHeight()-sprite.getY()
&&touchY
Y被反转。。。 您的Y代码应该如下所示(注意te page.getHeight(),页面是屏幕、画布、文档……可以随意调用。)

**UI元素和接触点的Y原点不同**

  if(touched==true
       && touchY > page.getHeight() - sprite.getY() 
       && touchY < page.getHeight() - sprite.getY()+sprite.getHeight()){
                       enemyIterator.remove();
                       Pools.free(sprite);
    }**
if(toucted==true
&&touchY>page.getHeight()-sprite.getY()
&&touchY
Y被反转。。。 您的Y代码应该如下所示(注意te page.getHeight(),页面是屏幕、画布、文档……可以随意调用。)

**UI元素和接触点的Y原点不同**

  if(touched==true
       && touchY > page.getHeight() - sprite.getY() 
       && touchY < page.getHeight() - sprite.getY()+sprite.getHeight()){
                       enemyIterator.remove();
                       Pools.free(sprite);
    }**
if(toucted==true
&&touchY>page.getHeight()-sprite.getY()
&&touchY
Y被反转。。。 您的Y代码应该如下所示(注意te page.getHeight(),页面是屏幕、画布、文档……可以随意调用。)

**UI元素和接触点的Y原点不同**

  if(touched==true
       && touchY > page.getHeight() - sprite.getY() 
       && touchY < page.getHeight() - sprite.getY()+sprite.getHeight()){
                       enemyIterator.remove();
                       Pools.free(sprite);
    }**
if(toucted==true
&&touchY>page.getHeight()-sprite.getY()
&&touchY