@@ -4,6 +4,7 @@ import { Zone } from './Zone';
4
4
import { CardService } from ' ./CardService' ;
5
5
import { ConnectionService } from ' @/services/ConnectionService' ;
6
6
import { ref } from ' vue' ;
7
+ import { faScaleBalanced } from ' @fortawesome/free-solid-svg-icons' ;
7
8
8
9
const props = defineProps ({
9
10
cardService: {
@@ -60,9 +61,10 @@ props.conService.onConnection(() => {
60
61
var ImageEl = document .createElement (' a-image' );
61
62
ImageEl .setAttribute (' src' , props .cardService .cardBack );
62
63
ImageEl .setAttribute (' id' , ' card' );
63
-
64
+ // set aspect ratio of a normal playing card
65
+ ImageEl .object3D .scale .set (1.26 , 1.76 , 1 );
64
66
ImageEl .object3D .position .set (0 , 0.0 , 0 );
65
- ImageEl . object3D . rotation . set ( - 90 , 0 , 0 );
67
+ rotateCardOntoMarker (markerEl, ImageEl)
66
68
markerEl .appendChild (ImageEl);
67
69
}
68
70
handZone = new Zone (" /markers/ZoneMarker1.patt" , " /markers/ZoneMarker2.patt" , sceneEl, " hand" , foundZoneMarkers);
@@ -76,7 +78,8 @@ props.conService.onConnection(() => {
76
78
77
79
marker .addEventListener (" markerFound" , () => {
78
80
var markerId = marker .id ;
79
- addFoundMarker (marker, foundCardMarkers)
81
+ addFoundMarker (marker, foundCardMarkers);
82
+
80
83
if (handZone .markerInZone (marker)) {
81
84
turnCard (marker);
82
85
}
@@ -143,7 +146,15 @@ props.conService.onConnection(() => {
143
146
connected .value = true ;
144
147
});
145
148
146
-
149
+ function rotateCardOntoMarker (marker , ImageEl ) {
150
+ const markerRotation = marker .object3D .rotation ;
151
+ if (Math .abs (markerRotation .x % (Math .PI * 2 )) === Math .PI / 2 ) {
152
+ // If the marker is rotated 90 or -90 degrees around the x-axis
153
+ ImageEl .object3D .rotation .set (- Math .sign (markerRotation .x ) * Math .PI / 2 , 0 , 0 );
154
+ } else {
155
+ ImageEl .object3D .rotation .set (Math .PI / 2 , 0 , 0 );
156
+ }
157
+ }
147
158
function isCardBack (marker ) {
148
159
if (! marker) return false ;
149
160
const imageEl = marker .querySelector (' #card' );
0 commit comments