Android OpenGL单独移动形状
我是OpenGL新手,我想向你们寻求帮助,甚至是代码示例。我浏览了很多页面,但似乎我太新鲜了,找不到合适的答案或提出有效的问题 我的用例是:创建3个三角形,允许用户用手指在屏幕上的不同位置移动它们,比如拖放 在渲染器中,我保留三角形对象:Android OpenGL单独移动形状,android,opengl-es,Android,Opengl Es,我是OpenGL新手,我想向你们寻求帮助,甚至是代码示例。我浏览了很多页面,但似乎我太新鲜了,找不到合适的答案或提出有效的问题 我的用例是:创建3个三角形,允许用户用手指在屏幕上的不同位置移动它们,比如拖放 在渲染器中,我保留三角形对象: public class MyGLRenderer implements GLSurfaceView.Renderer { ArrayList<MyTriangle> myObjectsOnSurface_; } 一种方法是维护每个三角形
public class MyGLRenderer implements GLSurfaceView.Renderer
{
ArrayList<MyTriangle> myObjectsOnSurface_;
}
一种方法是维护每个三角形的中心点x、y的数据结构,然后在触摸事件上确定是否有任何中心点靠近触摸点。仅当从触摸x,y到其中心点x,y的欧几里德距离可接受时,才移动三角形。二维距离==sqrtx1-x2^2+y1-y2^2。这个过程超出了OpenGL调用的范围,所以滚动您自己的解决方案听起来是合理的
public class MyGLSurfaceView extends GLSurfaceView {
@Override
public boolean onTouchEvent(final MotionEvent evt) {
float currentX = evt.getX();
float currentY = evt.getY();
....
}
}