向 Vuforia 示例添加手势处理程序

Adding gesture handlers to Vuforia samples

我是 vuforia 的新手。我能够 运行 示例 successfully.but none 示例使用这些 手势处理程序(捏合、旋转和拖动)。我想在 vuforia 示例的 User Defined Targets 中应用这些手势处理程序。

我试图通过使用 GestureDetector class 添加这些手势,但不知道如何添加到 User Defined Targets 的 vuforia 示例。

有没有办法将这些手势处理程序(捏合、旋转和拖动)添加到用户定义的 vuforia 示例目标中?

这是来自 GestureDetector class 的手势处理代码:

public class MainActivity extends Activity {

@Override
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        imageView=(ImageView)findViewById(R.id.imageView);
        SGD = new ScaleGestureDetector(this,new ScaleListener());
  }

public boolean onTouchEvent(MotionEvent ev) {
  SGD.onTouchEvent(ev);
  return true;
}

 private class ScaleListener extends ScaleGestureDetector.
  SimpleOnScaleGestureListener {
   @Override
   public boolean onScale(ScaleGestureDetector detector) {
     scale *= detector.getScaleFactor();
     scale = Math.max(0.1f, Math.min(scale, 5.0f));

     matrix.setScale(scale, scale);
     iv.setImageMatrix(matrix);
     return true;
   }
 }
}

在 UserDefinedTargetRenderer class 中有一个名为 renderFrame 的方法,它在每一帧都会被调用。在 renderFrame() 中将属性 Rotate、scale 和 Translate 分配给 3d 模型。

您需要做的就是将比例值从 MainActivity 传递到 UserDefinedTargetRenderer 中的 renderFrame() class。

您需要将比例值传递给此行: Matrix.scaleM(modelViewMatrix, 0, kObjectScale, kObjectScale, kObjectScale);

让我知道结果