Bläddra i källkod

ar-scan-gimmick: use the new events

customisations
alemart 6 månader sedan
förälder
incheckning
2908ce5d6f
1 ändrade filer med 11 tillägg och 28 borttagningar
  1. 11
    28
      plugins/extras/aframe-scan-gimmick-for-encantar.js

+ 11
- 28
plugins/extras/aframe-scan-gimmick-for-encantar.js Visa fil

1
 /*!
1
 /*!
2
  * A-Frame scan gimmick for encantar.js
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
  * @license LGPL-3.0-or-later
5
  * @license LGPL-3.0-or-later
5
  */
6
  */
6
 
7
 
28
         this._ar = ar;
29
         this._ar = ar;
29
         this._img = null;
30
         this._img = null;
30
         this._hadGizmos = false;
31
         this._hadGizmos = false;
32
+
31
         this._onTargetFound = this._onTargetFound.bind(this);
33
         this._onTargetFound = this._onTargetFound.bind(this);
32
         this._onTargetLost = this._onTargetLost.bind(this);
34
         this._onTargetLost = this._onTargetLost.bind(this);
35
+        this._registerEvents();
33
 
36
 
34
-        scene.addEventListener('ar-started', () => {
37
+        scene.addEventListener('arready', () => {
35
 
38
 
36
             this._validate();
39
             this._validate();
37
 
40
 
42
             this.el.parentNode.appendChild(img);
45
             this.el.parentNode.appendChild(img);
43
             this._img = img;
46
             this._img = img;
44
 
47
 
45
-            this._registerEvents();
46
-
47
         });
48
         });
48
     },
49
     },
49
 
50
 
60
 
61
 
61
     _registerEvents()
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
     _unregisterEvents()
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
     _onTargetFound(event)
78
     _onTargetFound(event)
96
         img.style.display = 'inline-block';
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
     _createImage()
96
     _createImage()
114
     {
97
     {
115
         const img = document.createElement('img');
98
         const img = document.createElement('img');

Laddar…
Avbryt
Spara