java - java 中的 openGL : moving camera with TouchEvent

标签 java android opengl-es android-camera touch-event

我需要通过触摸屏在 x、y 轴上创建相机的移动/改变位置。我已经阅读了很多以前的问题,但没有注意到可以解决我的问题的东西。

我如何使用此代码? :

class ESSurfaceView extends GLSurfaceView {

private final float TOUCH_SCALE_FACTOR = 180.0f / 320;
private float mPreviousX;
private float mPreviousY;

@Override
public boolean onTouchEvent(MotionEvent e) {

    float x = e.getX();
    float y = e.getY();

    switch (e.getAction()) {
        case MotionEvent.ACTION_MOVE:

            float dx = x - mPreviousX;
            float dy = y - mPreviousY;

            if (y > getHeight() / 2) {
                dx = dx * -1 ;
            }

            if (x < getWidth() / 2) {
                dy = dy * -1 ;
            }

            GLRenderer.setAngle(
                    GLRenderer.getAngle() +
                            ((dx + dy) * TOUCH_SCALE_FACTOR));
            requestRender();
    }

    mPreviousX = x;
    mPreviousY = y;
    return true;
}

public ESSurfaceView(Context context)
{
    super(context);

    setEGLContextClientVersion(2);
    GLRenderer renderer = new GLRenderer();
    setRenderer(renderer);

    // Render the view only when there is a change in the drawing data
    //setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
}}

最佳答案

Official Android Training 有一个示例(大部分与您的示例相同): https://developer.android.com/training/graphics/opengl/touch.html 它还提供完整的源代码。

顺便说一句 - 你永远不会在 openGL 中移动相机 - 你移动了世界。 进一步了解请阅读: http://www.opengl-tutorial.org/beginners-tutorials/tutorial-3-matrices/ 这应该可以让您更好地了解事物的运作方式...

关于java - java 中的 openGL : moving camera with TouchEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42251252/

相关文章:

java - Android:如何使用共享首选项检查 SQLite 的登录是否有效?

iphone - 如何修改 GLCameraRipple 示例以在后台线程上处理?

c++ - 使用 GTK 将 EGL 图像渲染到帧缓冲区

android - OpenGL ES 2.0 非法参数异常

java - 从内部类访问变量而不将其设为最终变量

java - Apache Camel 使用 Apache Camel 的 Spring WebFlux 功能性 Web Rest API

java - 在没有NotificationPublisherAware的情况下使用Spring发布JMX通知

android - 从 EditText 获取文本

布局底部带有透明标题的Android ImageView

android - 如何在android中显示音频文件的缩略图?