DevByPowerPoint

Track motion of 360 image in Storyline

Jul 3rd, 2024
685
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Variables to track movement directions
  2. var movedUp = false;
  3. var movedLeft = false;
  4. var movedDown = false;
  5. var movedRight = false;
  6.  
  7. // Variables to track initial and current positions
  8. var startX = 0, startY = 0;
  9. var currentX = 0, currentY = 0;
  10. var isDragging = false;
  11.  
  12. // Function to handle keydown events
  13. function handleKeyDown(event) {
  14.     switch(event.key) {
  15.         case 'w':
  16.         case 'ArrowUp':
  17.             movedUp = true;
  18.             movedLeft = false;
  19.             movedDown = false;
  20.             movedRight = false;
  21.             break;
  22.         case 'a':
  23.         case 'ArrowLeft':
  24.             movedUp = false;
  25.             movedLeft = true;
  26.             movedDown = false;
  27.             movedRight = false;
  28.             break;
  29.         case 's':
  30.         case 'ArrowDown':
  31.             movedUp = false;
  32.             movedLeft = false;
  33.             movedDown = true;
  34.             movedRight = false;
  35.             break;
  36.         case 'd':
  37.         case 'ArrowRight':
  38.             movedUp = false;
  39.             movedLeft = false;
  40.             movedDown = false;
  41.             movedRight = true;
  42.             break;
  43.         default:
  44.             break;
  45.     }
  46.     logMovement();
  47. }
  48.  
  49. // Function to handle mouse and touch start events
  50. function handleStart(event) {
  51.     isDragging = true;
  52.     startX = event.type === 'mousedown' ? event.clientX : event.touches[0].clientX;
  53.     startY = event.type === 'mousedown' ? event.clientY : event.touches[0].clientY;
  54. }
  55.  
  56. // Function to handle mouse and touch move events
  57. function handleMove(event) {
  58.     if (!isDragging) return;
  59.  
  60.     currentX = event.type === 'mousemove' ? event.clientX : event.touches[0].clientX;
  61.     currentY = event.type === 'mousemove' ? event.clientY : event.touches[0].clientY;
  62.  
  63.     var deltaX = currentX - startX;
  64.     var deltaY = currentY - startY;
  65.  
  66.     if (Math.abs(deltaX) > Math.abs(deltaY)) {
  67.         if (deltaX > 0) {
  68.             movedRight = true;
  69.             movedLeft = false;
  70.             movedUp = false;
  71.             movedDown = false;
  72.         } else {
  73.             movedRight = false;
  74.             movedLeft = true;
  75.             movedUp = false;
  76.             movedDown = false;
  77.         }
  78.     } else {
  79.         if (deltaY > 0) {
  80.             movedRight = false;
  81.             movedLeft = false;
  82.             movedUp = false;
  83.             movedDown = true;
  84.         } else {
  85.             movedRight = false;
  86.             movedLeft = false;
  87.             movedUp = true;
  88.             movedDown = false;
  89.         }
  90.     }
  91.     logMovement();
  92. }
  93.  
  94. // Function to handle mouse and touch end events
  95. function handleEnd(event) {
  96.     isDragging = false;
  97. }
  98.  
  99. // Function to log movement status
  100. function logMovement() {
  101.     console.log(`Moved up: ${movedUp}, left: ${movedLeft}, down: ${movedDown}, right: ${movedRight}`);
  102.     var player = GetPlayer();
  103.     player.SetVar("MovedUp", movedUp);
  104.     player.SetVar("MovedLeft", movedLeft);
  105.     player.SetVar("MovedDown", movedDown);
  106.     player.SetVar("MovedRight", movedRight);
  107. }
  108.  
  109. // Add event listeners for keydown events
  110. document.addEventListener('keydown', handleKeyDown);
  111.  
  112. // Add event listeners for mouse events
  113. document.addEventListener('mousedown', handleStart);
  114. document.addEventListener('mousemove', handleMove);
  115. document.addEventListener('mouseup', handleEnd);
  116.  
  117. // Add event listeners for touch events
  118. document.addEventListener('touchstart', handleStart);
  119. document.addEventListener('touchmove', handleMove);
  120. document.addEventListener('touchend', handleEnd);
  121.  
  122.  
Advertisement
Add Comment
Please, Sign In to add comment