Преглед изворни кода

ar-scan-gimmick: use the new events

customisations
alemart пре 6 месеци
родитељ
комит
2908ce5d6f
1 измењених фајлова са 11 додато и 28 уклоњено
  1. 11
    28
      plugins/extras/aframe-scan-gimmick-for-encantar.js

+ 11
- 28
plugins/extras/aframe-scan-gimmick-for-encantar.js Прегледај датотеку

@@ -1,6 +1,7 @@
1 1
 /*!
2 2
  * A-Frame scan gimmick for encantar.js
3
- * @author Alexandre Martins <alemartf(at)gmail.com> (https://github.com/alemart/encantar-js)
3
+ * @version 1.1.0
4
+ * @author Alexandre Martins (https://encantar.dev)
4 5
  * @license LGPL-3.0-or-later
5 6
  */
6 7
 
@@ -28,10 +29,12 @@ AFRAME.registerComponent('ar-scan-gimmick', {
28 29
         this._ar = ar;
29 30
         this._img = null;
30 31
         this._hadGizmos = false;
32
+
31 33
         this._onTargetFound = this._onTargetFound.bind(this);
32 34
         this._onTargetLost = this._onTargetLost.bind(this);
35
+        this._registerEvents();
33 36
 
34
-        scene.addEventListener('ar-started', () => {
37
+        scene.addEventListener('arready', () => {
35 38
 
36 39
             this._validate();
37 40
 
@@ -42,8 +45,6 @@ AFRAME.registerComponent('ar-scan-gimmick', {
42 45
             this.el.parentNode.appendChild(img);
43 46
             this._img = img;
44 47
 
45
-            this._registerEvents();
46
-
47 48
         });
48 49
     },
49 50
 
@@ -60,22 +61,18 @@ AFRAME.registerComponent('ar-scan-gimmick', {
60 61
 
61 62
     _registerEvents()
62 63
     {
63
-        const imageTracker = this._findImageTracker();
64
+        const scene = this.el.sceneEl;
64 65
 
65
-        if(imageTracker !== null) {
66
-            imageTracker.addEventListener('targetfound', this._onTargetFound);
67
-            imageTracker.addEventListener('targetlost', this._onTargetLost);
68
-        }
66
+        scene.addEventListener('artargetfound', this._onTargetFound);
67
+        scene.addEventListener('artargetlost', this._onTargetLost);
69 68
     },
70 69
 
71 70
     _unregisterEvents()
72 71
     {
73
-        const imageTracker = this._findImageTracker();
72
+        const scene = this.el.sceneEl;
74 73
 
75
-        if(imageTracker !== null) {
76
-            imageTracker.removeEventListener('targetlost', this._onTargetLost);
77
-            imageTracker.removeEventListener('targetfound', this._onTargetFound);
78
-        }
74
+        scene.removeEventListener('artargetlost', this._onTargetLost);
75
+        scene.removeEventListener('artargetfound', this._onTargetFound);
79 76
     },
80 77
 
81 78
     _onTargetFound(event)
@@ -96,20 +93,6 @@ AFRAME.registerComponent('ar-scan-gimmick', {
96 93
         img.style.display = 'inline-block';
97 94
     },
98 95
 
99
-    _findImageTracker()
100
-    {
101
-        const ar = this._ar;
102
-
103
-        if(ar !== null) {
104
-            for(const tracker of ar.session.trackers) {
105
-                if(tracker.type == 'image-tracker')
106
-                    return tracker;
107
-            }
108
-        }
109
-
110
-        return null;
111
-    },
112
-
113 96
     _createImage()
114 97
     {
115 98
         const img = document.createElement('img');

Loading…
Откажи
Сачувај