2016-06-14 12 views
2

Ich möchte eine Android-Anwendung entwickeln, um ein Ziel zu erkennen und das Spielsymbol darüber zu zeigen. Wenn der Benutzer auf das Wiedergabesymbol klickt, wird Augmented Reality auf einer anderen Aktivität abgespielt.Virtueller Knopf in ARToolkit

Ich verwende ARToolkit als SDK. Das Interaction Beispiel ist die beste Übereinstimmung meiner Anforderungen. Aber das Problem ist, dass ich das Wiedergabesymbol nicht klickbar machen kann und in diesem Beispiel die ganze Ansicht anklickbar ist.

Kurz gesagt, wie kann ich Marker-Koordinaten in Android-Ansicht erhalten?

Antwort

3

Die Wiedergabetaste, die Sie platzieren möchten, ist ein 3D-Objekt in einer GLSurfaceView, es gibt keine "Ansicht", die mit diesem Objekt verknüpft ist. Sie können also nicht einfach einen OnClickListener verwenden.

ARToolkit gibt Ihnen die Marker-Koordinaten auf 3DSpace, aber ich glaube nicht, dass Koordinaten, die Sie fordern.

Wie ich es sehe, Sie haben 2 Hauptoptionen:

  • Sie haben eine Play-Taste, die auf dem Bildschirm angezeigt wird (nicht auf die Markierung überlagert) und dann können Sie es als eine normale Ansicht verwenden. Sie können die Sichtbarkeit des Objekts mit dem Ereignis des gefundenen Markers verknüpfen.
  • Sie verarbeiten das Berührungsereignis auf der GLSurfaceView, indem Sie Raycasting durchführen und prüfen, ob es auf das Objekt trifft, das die Wiedergabetaste ist.

Option 1 ist die einfachste, Option 2 ist, was Sie beschreiben.

+0

Danke @Shalafi für Ihre Antwort. Haben Sie einen Snippet oder Beispielcode für Option 2? – Hossein

+0

Wenn Sie diesen Weg einschlagen möchten, schlage ich vor, dass Sie eine Art 3D-Engine auf ARToolkit verwenden, überprüfen Sie https://github.com/plattysoft/ArToolKitJpctBaseLib, und Sie können überprüfen, wie Raycasting mit jPCT-AE durchgeführt wird wird dein Leben leichter machen. – shalafi