【问题标题】:Adding gesture handlers to Vuforia samples向 Vuforia 示例添加手势处理程序
【发布时间】:2015-06-01 15:51:58
【问题描述】:

我是 vuforia 的新手。我能够成功运行示例。但没有一个示例使用这些手势处理程序(捏合、旋转和拖动)。我想在 vuforia 示例的 User Defined Targets 中应用这些手势处理程序。

我尝试使用 GestureDetector 类 添加这些手势,但不知道如何添加到 vuforia 示例的 用户定义目标

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

这是 GestureDetector 类中的手势处理代码:

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;
   }
 }
}

【问题讨论】:

    标签: android gesture-recognition vuforia


    【解决方案1】:

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

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

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

    告诉我结果

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-06
      • 2021-11-08
      • 1970-01-01
      • 2022-11-21
      • 2011-03-10
      • 2016-09-08
      相关资源
      最近更新 更多