Sfoglia il codice sorgente

[ts][player] Update physics example.

Mario Zechner 1 anno fa
parent
commit
1c4aa3ccb0

+ 148 - 0
spine-ts/index.css

@@ -0,0 +1,148 @@
+/***
+    The new CSS reset - version 1.11.2 (last updated 15.11.2023)
+    GitHub page: https://github.com/elad2412/the-new-css-reset
+***/
+
+/*
+    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
+    - The "symbol *" part is to solve Firefox SVG sprite bug
+    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
+ */
+ *:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
+    all: unset;
+    display: revert;
+}
+
+/* Preferred box-sizing value */
+*,
+*::before,
+*::after {
+    box-sizing: border-box;
+}
+
+/* Fix mobile Safari increase font-size on landscape mode */
+html {
+    -moz-text-size-adjust: none;
+    -webkit-text-size-adjust: none;
+    text-size-adjust: none;
+}
+
+/* Reapply the pointer cursor for anchor tags */
+a, button {
+    cursor: revert;
+}
+
+/* Remove list styles (bullets/numbers) */
+ol, ul, menu, summary {
+    list-style: none;
+}
+
+/* For images to not be able to exceed their container */
+img {
+    max-inline-size: 100%;
+    max-block-size: 100%;
+}
+
+/* removes spacing between cells in tables */
+table {
+    border-collapse: collapse;
+}
+
+/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
+input, textarea {
+    -webkit-user-select: auto;
+}
+
+/* revert the 'white-space' property for textarea elements on Safari */
+textarea {
+    white-space: revert;
+}
+
+/* minimum style to allow to style meter element */
+meter {
+    -webkit-appearance: revert;
+    appearance: revert;
+}
+
+/* preformatted text - use only for this feature */
+:where(pre) {
+    all: revert;
+    box-sizing: border-box;
+}
+
+/* reset default text opacity of input placeholder */
+::placeholder {
+    color: unset;
+}
+
+/* fix the feature of 'hidden' attribute.
+   display:revert; revert to element instead of attribute */
+:where([hidden]) {
+    display: none;
+}
+
+/* revert for bug in Chromium browsers
+   - fix for the content editable attribute will work properly.
+   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
+:where([contenteditable]:not([contenteditable="false"])) {
+    -moz-user-modify: read-write;
+    -webkit-user-modify: read-write;
+    overflow-wrap: break-word;
+    -webkit-line-break: after-white-space;
+    -webkit-user-select: auto;
+}
+
+/* apply back the draggable feature - exist only in Chromium and Safari */
+:where([draggable="true"]) {
+    -webkit-user-drag: element;
+}
+
+/* Revert Modal native behavior */
+:where(dialog:modal) {
+    all: revert;
+    box-sizing: border-box;
+}
+
+/* Remove details summary webkit styles */
+::-webkit-details-marker {
+    display: none;
+}
+
+html, body  {
+    margin: 0;
+    padding: 0;
+    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
+}
+
+* {
+    box-sizing: border-box;
+}
+
+.btn {
+    display: inline-block; /* Aligns like a button */
+    padding: 0.125em 0.5em; /* Button size */
+    color: #333; /* Text color */
+    background-color: #ccc;
+    border: none; /* No border */
+    border-radius: 5px; /* Rounded corners */
+    text-align: center; /* Center text */
+    text-decoration: none; /* No underline */
+    cursor: pointer; /* Cursor changes to hand symbol */
+    transition: background-color 0.3s, box-shadow 0.3s; /* Smooth transition for hover effect */
+
+    /* Slight shadow for depth (optional) */
+    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
+}
+
+/* Hover state */
+.btn:hover {
+    background-color: #fff; /* Darker shade when hovered */
+    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); /* Larger shadow on hover */
+}
+
+.overlay {
+    display: flex; flex-direction: column; position: fixed; z-index: 10; top: 0; left: 0; gap: 0.5em; padding: 1em;
+    background-color: rgba(0, 0, 0, 0.7);
+    color: #ddd;
+    border-radius: 5px;
+}

+ 1 - 0
spine-ts/index.html

@@ -98,6 +98,7 @@
       <li>Player</li>
       <li>Player</li>
       <ul>
       <ul>
         <li><a href="/spine-player/example/example.html">Example</a></li>
         <li><a href="/spine-player/example/example.html">Example</a></li>
+        <li><a href="/spine-player/example/physics.html">Physics</a></li>
         <li>
         <li>
           <a href="/spine-player/example/embedding-binary-example.html"
           <a href="/spine-player/example/embedding-binary-example.html"
             >Embedding binary</a
             >Embedding binary</a

+ 4 - 5
spine-ts/spine-player/example/physics.html

@@ -5,8 +5,10 @@
 		<meta name="viewport" content="width=device-width, initial-scale=1.0">
 		<meta name="viewport" content="width=device-width, initial-scale=1.0">
 		<script src="../dist/iife/spine-player.js"></script>
 		<script src="../dist/iife/spine-player.js"></script>
 		<link rel="stylesheet" href="../dist/spine-player.css">
 		<link rel="stylesheet" href="../dist/spine-player.css">
+		<link rel="stylesheet" href="../../index.css">
 	</head>
 	</head>
 <body style="margin:0">
 <body style="margin:0">
+	<span class="overlay">Drag the swinging lady</span>
 	<div id="player" style="position: absolute; width: 100%; height: 100vh;">
 	<div id="player" style="position: absolute; width: 100%; height: 100vh;">
 	</div>
 	</div>
 	<script>
 	<script>
@@ -28,12 +30,9 @@
 						player.skeleton.getRootBone().x += mouse.x - last.x;
 						player.skeleton.getRootBone().x += mouse.x - last.x;
 						player.skeleton.getRootBone().y += mouse.y - last.y;
 						player.skeleton.getRootBone().y += mouse.y - last.y;
 						last.setFrom(mouse);
 						last.setFrom(mouse);
-					}
+					},
+					up: () => player.paused = false
 				});
 				});
 			},
 			},
-			frame: function (player, delta) {
-				player.skeleton.update(player.time.delta);
-				player.skeleton.updateWorldTransform(spine.Physics.update);
-			}
 		});</script>
 		});</script>
 	</body></html>
 	</body></html>

+ 1 - 1
spine-ts/spine-webgl/example/physics2.html

@@ -5,7 +5,7 @@
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
 	<meta name="viewport" content="width=device-width, initial-scale=1.0">
 </head>
 </head>
 <script src="../dist/iife/spine-webgl.js"></script>
 <script src="../dist/iife/spine-webgl.js"></script>
-<link rel="stylesheet" href="example.css">
+<link rel="stylesheet" href="../../index.css">
 
 
 <body>
 <body>
 	<div class="overlay" style="user-select: none;">
 	<div class="overlay" style="user-select: none;">