OpenGL ES - 在2d世界中选择一个对象

时间:2011-01-31 07:39:52

标签: opengl-es

如果我在表面绘制三个矩形,并在二维正射世界中“监听”onTouch事件,那么如何识别哪个是被点击的矩形?

1 个答案:

答案 0 :(得分:1)

如果三角形不重叠,您可以跟踪三角形类对象中每个三角形的3个xy点。然后你可以保留这些类对象的列表,以便稍后进行比较。然后当onTouch偶数被调用时,您可以看到手指的xy位置在哪里,然后将其与每个矩形的边界进行比较,以查看它是否包含在其中。

如果它在一个范围内,那么你知道它被选中了。如果它们重叠,您只需要决定哪个是预先的。如果多于一个三角形占据相同的空间,您还可以跟踪三角形对象的顺序。那么你只需选择与屏幕最接近的顺序。