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