找到屏幕边缘的android

时间:2011-07-30 18:23:56

标签: android opengl-es collision-detection viewport

这可能听起来很明显,但我怎样才能找到屏幕边缘的点,以便知道移动物体是否已经碰到屏幕边缘。

三江源

2 个答案:

答案 0 :(得分:2)

如果你有正交投影,你可以通过知道你传递给glOrtho()函数的值来轻松知道边缘的位置。

例如,请考虑以下这一行:

glOrtho(0.0f, width, 0.0f, height, 0.0f, 1.0f);

在这里你可以决定单个浮点数对你的程序有多大的影响力。您可以找到有关此here的更多信息。

但是,在这种情况下,左边缘为0.0,底边为0.0。您的上边缘由 height 定义,右边缘由 width 定义。

通过这种方式,您不必依赖特定的屏幕尺寸,因为您的世界将始终与您定义的一样大。例如,您不需要通过 width height 参数定义正交宽度和高度,而是使用一些数据告诉您的应用程序您的世界应该有多大

答案 1 :(得分:0)

这样做:

Display display = getWindowManager().getDefaultDisplay(); 
int width = display.getWidth();
int height = display.getHeight();