Bladeren bron

Introduce primitive <ar-scan-gimmick>

customisations
alemart 6 maanden geleden
bovenliggende
commit
c9d525bacc
3 gewijzigde bestanden met toevoegingen van 20 en 6 verwijderingen
  1. 18
    4
      addons/aframe/ar-scan-gimmick.js
  2. 1
    1
      demos/hello-aframe/index.html
  3. 1
    1
      demos/hello-aframe/video.html

+ 18
- 4
addons/aframe/ar-scan-gimmick.js Bestand weergeven

@@ -1,6 +1,6 @@
1 1
 /*!
2 2
  * A-Frame scan gimmick for encantar.js
3
- * @version 1.1.0
3
+ * @version 1.2.0
4 4
  * @author Alexandre Martins (https://encantar.dev)
5 5
  * @license LGPL-3.0-or-later
6 6
  */
@@ -9,12 +9,25 @@
9 9
 
10 10
 const DEFAULT_IMAGE = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAVklEQVRYR+2WMQ4AIAgD4f+PVlzFYGSpw3UlQHOaBjexXLzfMJAIjFD1LB6q6q/9RwO3Jd1/s8ztszEAAQiQhBCAAARIQghA4E8C0rO8e3J3+4hiOYEJMwaAIT1kBDMAAAAASUVORK5CYII=';
11 11
 
12
+AFRAME.registerPrimitive('ar-scan-gimmick', {
13
+
14
+    defaultComponents: {
15
+        'ar-scan-gimmick': { },
16
+    },
17
+
18
+    mappings: {
19
+        src: 'ar-scan-gimmick.src',
20
+        opacity: 'ar-scan-gimmick.opacity',
21
+    },
22
+
23
+});
24
+
12 25
 AFRAME.registerComponent('ar-scan-gimmick', {
13 26
 
14 27
     schema: {
15 28
 
16 29
         /** URL of an image */
17
-        'src': { type: 'string', default: DEFAULT_IMAGE },
30
+        'src': { type: 'string', default: '' },
18 31
 
19 32
         /** opacity of the image */
20 33
         'opacity': { type: 'number', default: 1.0 }
@@ -96,8 +109,9 @@ AFRAME.registerComponent('ar-scan-gimmick', {
96 109
     _createImage()
97 110
     {
98 111
         const img = document.createElement('img');
112
+        const src = this.data.src !== '' ? this.data.src : DEFAULT_IMAGE;
99 113
 
100
-        img.src = this.data.src;
114
+        img.src = src;
101 115
         img.draggable = false;
102 116
         img.style.width = '100%';
103 117
         img.style.height = '100%';
@@ -105,7 +119,7 @@ AFRAME.registerComponent('ar-scan-gimmick', {
105 119
         img.style.display = 'inline-block';
106 120
         img.style.opacity = this.data.opacity;
107 121
 
108
-        if(img.src == DEFAULT_IMAGE)
122
+        if(src === DEFAULT_IMAGE)
109 123
             img.style.imageRendering = 'pixelated';
110 124
 
111 125
         return img;

+ 1
- 1
demos/hello-aframe/index.html Bestand weergeven

@@ -63,7 +63,7 @@
63 63
                     <a id="like" href="../assets/promo.html" draggable="false"></a>
64 64
 
65 65
                     <!-- The scan gimmick -->
66
-                    <a-entity ar-scan-gimmick="opacity: 0.75"></a-entity>
66
+                    <ar-scan-gimmick opacity="0.75"></ar-scan-gimmick>
67 67
 
68 68
                 </ar-hud>
69 69
 

+ 1
- 1
demos/hello-aframe/video.html Bestand weergeven

@@ -63,7 +63,7 @@
63 63
                     <a id="like" href="../assets/promo.html" draggable="false"></a>
64 64
 
65 65
                     <!-- The scan gimmick -->
66
-                    <a-entity ar-scan-gimmick="opacity: 0.75"></a-entity>
66
+                    <ar-scan-gimmick opacity="0.75"></ar-scan-gimmick>
67 67
 
68 68
                 </ar-hud>
69 69
 

Laden…
Annuleren
Opslaan