|
@@ -1,146 +1,94 @@
|
|
|
<!DOCTYPE html>
|
|
|
-<html lang="en-us">
|
|
|
+<html lang="ch-zh">
|
|
|
|
|
|
<head>
|
|
|
- <meta charset="utf-8">
|
|
|
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
|
+ <meta charset="UTF-8">
|
|
|
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
<title>常中e大观园</title>
|
|
|
- <link rel="shortcut icon" href="TemplateData/favicon.ico">
|
|
|
- <link rel="stylesheet" href="TemplateData/style.css">
|
|
|
- <link rel="manifest" href="manifest.webmanifest">
|
|
|
|
|
|
- <!-- 引用自己的样式 -->
|
|
|
- <link rel="stylesheet" href="./myCode/style.css">
|
|
|
+ <style>
|
|
|
+ * {
|
|
|
+ margin: 0;
|
|
|
+ padding: 0;
|
|
|
+ box-sizing: border-box;
|
|
|
+ }
|
|
|
|
|
|
-</head>
|
|
|
+ body {
|
|
|
+ width: 100vw;
|
|
|
+ height: 100vh;
|
|
|
+ overflow: hidden;
|
|
|
+ }
|
|
|
|
|
|
-<body>
|
|
|
- <div id="unity-container">
|
|
|
- <canvas id="unity-canvas" tabindex="-1"></canvas>
|
|
|
- <div id="unity-loading-bar">
|
|
|
- <div id="unity-logo"></div>
|
|
|
- <div id="unity-progress-bar-empty">
|
|
|
- <div id="unity-progress-bar-full"></div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- <div id="unity-warning"> </div>
|
|
|
- </div>
|
|
|
+ .videoBox {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ background-color: black;
|
|
|
+ position: relative;
|
|
|
+ }
|
|
|
|
|
|
- <!-- 加载中文字 -->
|
|
|
- <div id="lodingTxt">加载中...</div>
|
|
|
+ .videoBox video {
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 50%;
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ max-width: 100%;
|
|
|
+ max-height: 100%;
|
|
|
+ }
|
|
|
|
|
|
+ .skipTxt {
|
|
|
+ position: absolute;
|
|
|
+ z-index: 10;
|
|
|
+ right: 15px;
|
|
|
+ top: 15px;
|
|
|
+ width: 60px;
|
|
|
+ height: 30px;
|
|
|
+ background-color: rgba(0, 0, 0, .6);
|
|
|
+ line-height: 30px;
|
|
|
+ text-align: center;
|
|
|
+ color: #fff;
|
|
|
+ text-decoration: none;
|
|
|
+ }
|
|
|
+ </style>
|
|
|
+
|
|
|
+</head>
|
|
|
+
|
|
|
+<body>
|
|
|
<!-- 开场视频 -->
|
|
|
<div class="videoBox">
|
|
|
<video src="./myCode/video.mp4" controls muted></video>
|
|
|
- <div class="skipTxt">跳 过</div>
|
|
|
+ <a class="skipTxt" href="./model.html">跳 过</a>
|
|
|
</div>
|
|
|
|
|
|
- <!-- 分享海报 -->
|
|
|
- <div class="shareBox">
|
|
|
- <img src="./StreamingAssets/share.png" alt="">
|
|
|
- <div class="shareTit">长按图片保存</div>
|
|
|
- <div class="shareBtn">关闭</div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <script>
|
|
|
- let unityExamples = null
|
|
|
-
|
|
|
- window.addEventListener("load", function () {
|
|
|
- if ("serviceWorker" in navigator) {
|
|
|
- navigator.serviceWorker.register("ServiceWorker.js");
|
|
|
- }
|
|
|
- });
|
|
|
-
|
|
|
- var container = document.querySelector("#unity-container");
|
|
|
- var canvas = document.querySelector("#unity-canvas");
|
|
|
- var loadingBar = document.querySelector("#unity-loading-bar");
|
|
|
- var progressBarFull = document.querySelector("#unity-progress-bar-full");
|
|
|
- var warningBanner = document.querySelector("#unity-warning");
|
|
|
-
|
|
|
- // Shows a temporary message banner/ribbon for a few seconds, or
|
|
|
- // a permanent error message on top of the canvas if type=='error'.
|
|
|
- // If type=='warning', a yellow highlight color is used.
|
|
|
- // Modify or remove this function to customize the visually presented
|
|
|
- // way that non-critical warnings and error messages are presented to the
|
|
|
- // user.
|
|
|
- function unityShowBanner(msg, type) {
|
|
|
- function updateBannerVisibility() {
|
|
|
- warningBanner.style.display = warningBanner.children.length ? 'block' : 'none';
|
|
|
- }
|
|
|
- var div = document.createElement('div');
|
|
|
- div.innerHTML = msg;
|
|
|
- warningBanner.appendChild(div);
|
|
|
- if (type == 'error') div.style = 'background: red; padding: 10px;';
|
|
|
- else {
|
|
|
- if (type == 'warning') div.style = 'background: yellow; padding: 10px;';
|
|
|
- setTimeout(function () {
|
|
|
- warningBanner.removeChild(div);
|
|
|
- updateBannerVisibility();
|
|
|
- }, 5000);
|
|
|
- }
|
|
|
- updateBannerVisibility();
|
|
|
- }
|
|
|
-
|
|
|
- var buildUrl = "Build";
|
|
|
- var loaderUrl = buildUrl + "/ChangZhouHospital_2.1.loader.js";
|
|
|
- var config = {
|
|
|
- dataUrl: buildUrl + "/ChangZhouHospital_2.1.data.unityweb",
|
|
|
- frameworkUrl: buildUrl + "/ChangZhouHospital_2.1.framework.js.unityweb",
|
|
|
- codeUrl: buildUrl + "/ChangZhouHospital_2.1.wasm.unityweb",
|
|
|
- streamingAssetsUrl: "StreamingAssets",
|
|
|
- companyName: "DefaultCompany",
|
|
|
- productName: "ChangZhouHospital",
|
|
|
- productVersion: "1.1",
|
|
|
- showBanner: unityShowBanner,
|
|
|
- };
|
|
|
-
|
|
|
- // By default Unity keeps WebGL canvas render target size matched with
|
|
|
- // the DOM size of the canvas element (scaled by window.devicePixelRatio)
|
|
|
- // Set this to false if you want to decouple this synchronization from
|
|
|
- // happening inside the engine, and you would instead like to size up
|
|
|
- // the canvas DOM size and WebGL render target sizes yourself.
|
|
|
- // config.matchWebGLToCanvasSize = false;
|
|
|
-
|
|
|
- if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
|
|
|
- // Mobile device style: fill the whole browser client area with the game canvas:
|
|
|
- var meta = document.createElement('meta');
|
|
|
- meta.name = 'viewport';
|
|
|
- meta.content = 'width=device-width, height=device-height, initial-scale=1.0, user-scalable=no, shrink-to-fit=yes';
|
|
|
- document.getElementsByTagName('head')[0].appendChild(meta);
|
|
|
- }
|
|
|
+</body>
|
|
|
|
|
|
- loadingBar.style.display = "block";
|
|
|
+<script>
|
|
|
+ const videoBox = document.querySelector('.videoBox')
|
|
|
|
|
|
- var script = document.createElement("script");
|
|
|
- script.src = loaderUrl;
|
|
|
- script.onload = () => {
|
|
|
- createUnityInstance(canvas, config, (progress) => {
|
|
|
- progressBarFull.style.width = 100 * progress + "%";
|
|
|
- }).then((unityInstance) => {
|
|
|
- loadingBar.style.display = "none";
|
|
|
+ const videoDom = document.querySelector('.videoBox video')
|
|
|
|
|
|
- // 兼容苹果手机,移除视频dom
|
|
|
- setTimeout(() => {
|
|
|
- const videoBox = document.querySelector('.videoBox')
|
|
|
+ const videoBtnDom = document.querySelector('.skipTxt')
|
|
|
|
|
|
- if (videoBox) document.querySelector('body').removeChild(videoBox)
|
|
|
|
|
|
- }, 500);
|
|
|
+ // 自动播放视频
|
|
|
+ videoDom.play()
|
|
|
|
|
|
- // 把unity的实例保存起来
|
|
|
- unityExamples = unityInstance
|
|
|
- // 隐藏加载中文字
|
|
|
- document.querySelector('#lodingTxt').style.display = 'none'
|
|
|
+ // 点击按钮,或者视频播放完毕的回调
|
|
|
+ const videoPalyEnd = () => {
|
|
|
+ videoBtnDom.click()
|
|
|
+ // const topUrl = window.location.href
|
|
|
+ // console.log('-------视频播放完毕,或者点击跳过--------', topUrl);
|
|
|
+ // const a = document.createElement('a');
|
|
|
+ // a.setAttribute('href', topUrl.replace('index', 'model'));
|
|
|
+ // // a.setAttribute('target','_blank');
|
|
|
+ // a.style.display = 'none'
|
|
|
+ // document.body.appendChild(a);
|
|
|
+ // a.click();
|
|
|
+ }
|
|
|
|
|
|
- }).catch((message) => {
|
|
|
- alert(message);
|
|
|
- });
|
|
|
- };
|
|
|
- document.body.appendChild(script);
|
|
|
- </script>
|
|
|
+ videoDom.addEventListener('ended', function () {
|
|
|
+ videoPalyEnd()
|
|
|
+ }, false)
|
|
|
|
|
|
- <!-- 引入自己的js -->
|
|
|
- <script src="./myCode/index.js"></script>
|
|
|
-</body>
|
|
|
+</script>
|
|
|
|
|
|
</html>
|