WebGL默认全屏显示

修改打包出来的Index.HTML

<!DOCTYPE html>
<html lang="en-us">
<head>
    <meta charset="utf-8">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Unity WebGL Player | ArkOfPanda</title>
    <link rel="shortcut icon" href="TemplateData/favicon.ico">
    <link rel="stylesheet" href="TemplateData/style.css">
</head>
<body>
    <div id="unity-container" style="width: 100%;height:100%">
        <canvas id="unity-canvas" width=auto height=auto"></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 id="unity-footer">
            <div id="unity-fullscreen-button"></div>
            <div id="unity-build-title">ArkOfPanda</div>
            <div id="#unity-build-version">VER:a4ef240cbc729c37f29bf650ade9ec5abbeae01f</div>
        </div>
    </div>
    <script>
        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 fullscreenButton = document.querySelector("#unity-fullscreen-button");
        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 + "/ArkOfPanda.loader.js";
        var config = {
    
    
            dataUrl: buildUrl + "/ArkOfPanda.data.unityweb",
            frameworkUrl: buildUrl + "/ArkOfPanda.framework.js.unityweb",
            codeUrl: buildUrl + "/ArkOfPanda.wasm.unityweb",
            streamingAssetsUrl: "StreamingAssets",
            companyName: "108",
            productName: "ArkOfPanda",
            productVersion: "1.0",
            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)) {
    
    
            // container.className = "unity-mobile";
            // Avoid draining fillrate performance on mobile devices,
            // and default/override low DPI mode on mobile browsers.
            //config.devicePixelRatio = 1;
            //unityShowBanner('WebGL builds are not supported on mobile devices.');

            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);
            container.className = "unity-mobile";
            // Avoid draining fillrate performance on mobile devices,
            // and default/override low DPI mode on mobile browsers.
            // config.devicePixelRatio = 1;

            // To lower canvas resolution on mobile devices to gain some
            // performance, uncomment the following line:
            // config.devicePixelRatio = 1;

            canvas.style.width = window.innerWidth + 'px';
            canvas.style.height = window.innerHeight + 'px';
        } else {
    
    
            canvas.style.width = "1920px";
            canvas.style.height = "1080px";
        }
        loadingBar.style.display = "block";

        var aspectRate = 1920/1080;
        window.onresize = function ()
        {
    
    
            ResetCanvas();
        }

        function ResetCanvas() {
    
    
            //var h = window.innerHeight - 50;
            //canvas.style.height = h + "px";
           // canvas.style.width = h * aspectRate + "px";
        }

        var script = document.createElement("script");
        var instance;

        script.src = loaderUrl;
        script.onload = () => {
    
    
            ResetCanvas();
            createUnityInstance(canvas, config, (progress) => {
    
    
                progressBarFull.style.width = 100 * progress + "%";
            }).then((unityInstance) => {
    
    
                loadingBar.style.display = "none";
                fullscreenButton.onclick = () => {
    
    
                    unityInstance.SetFullscreen(1);
                };
                instance = unityInstance;
            }).catch((message) => {
    
    
                alert(message);
            });
        };
        document.body.appendChild(script);

        async function login() {
    
    
            try {
    
    
                let accounts = await window.ethereum.request({
    
    
                    method: 'eth_requestAccounts'
                });

                alert(accounts[0]);
                instance.SendMessage("KTJsManager", "SetRequestAccount", accounts[0]);
            }
            catch (e) {
    
    
                alert("eth error");
                instance.SendMessage("KTJsManager", "OnRequestError");
            }
        }
        function GetMetamask() {
    
     login(); };
    </script>
</body>
</html>


重点是两块

1

<div id="unity-container" style="width: 100%;height:100%">   
        <canvas id="unity-canvas" width=auto height=auto"></canvas>

2

 if (/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)) {
    
    
            // container.className = "unity-mobile";
            // Avoid draining fillrate performance on mobile devices,
            // and default/override low DPI mode on mobile browsers.
            //config.devicePixelRatio = 1;
            //unityShowBanner('WebGL builds are not supported on mobile devices.');

            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);
            container.className = "unity-mobile";
            // Avoid draining fillrate performance on mobile devices,
            // and default/override low DPI mode on mobile browsers.
            // config.devicePixelRatio = 1;

            // To lower canvas resolution on mobile devices to gain some
            // performance, uncomment the following line:
            // config.devicePixelRatio = 1;

            canvas.style.width = window.innerWidth + 'px';
            canvas.style.height = window.innerHeight + 'px';
        } else {
    
    
            canvas.style.width = "1920px";  //PC端就设置为100%
            canvas.style.height = "1080px"; //PC端就设置为100%
        }

猜你喜欢

转载自blog.csdn.net/weixin_43149049/article/details/128097527
今日推荐