鱼C论坛

 找回密码
 立即注册
查看: 2397|回复: 3

[已解决]用js写适配手机的视窗代码,请大咖们指教。

[复制链接]
发表于 2020-10-18 21:31:32 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
show.js视窗初始化代码://希望大咖帮我修改成为可以适配手机视窗的代码,谢谢。
(function(){
        var Game = window.Game = function(id){
                //得到画布
                this.canvas = document.querySelector(id);//引用视口
                //上下文
                this.ctx = this.canvas.getContext("2d");
                //资源文件地址
                //this.Rjsonurl = params.Rjsonurl;
                //设置画布的宽度和高度
                this.init();
                //var self = this;
                //读取资源(运用回调函数指针指引)时异步函数,所以我们不知道什么时候///执行完毕。但是其他的事情必须等到他完毕之后再执行。必须用回调函数。
//                this.loadAllResource(function(){
                        //我们封装的回调函数,这里表示全部资源读取完毕
        //                this.start();
        //        });
        }
        //初始化,设置画布的宽度和高度
        Game.prototype.init = function(){
                //读取视口的宽度和高度
                var windowW = document.documentElement.clientWidth;
                var windowH = document.documentElement.clientHeight;
               
                //验收
                if(windowW>414){
                        windowW = 414;
                }else if(windowW <320){
                        windowW = 320;
                }
                //736
                if(windowH>680){
                        windowH =500;
                }else if(windowH<500){
                        windowH = 500;
                }
                //让canvas匹配
        //        this.canvas.width = windowW;
        //        this.canvas.height = windowH;
               
)}();


html代码:
<!DOCTYPE html>
<html>
        <head>
                <meta charset="utf-8">
                <title>视窗设计练习</title>
<!-- //视口标签 -->
                <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" id= "viewport"/>
                <style type="text/css">
                        *{
                                margin: 0;
                                padding:0;
                        }
                body{
                        overflow: hidden;
                }
                        canvas{
                                border:1px solid #000000;
                        }
                </style>
        </head>
        <body>
        <canvas id ="mycanvas"></canvas>
        <script type="text/javascript" src="./show.js"></script>
        <script type="text/javascript">
          var game = new game ("mycanvas");
        </script>
        </body>
</html>
最佳答案
2020-10-18 21:51:21
(function(window){
        window.Game = function(id){
                //得到画布
                this.canvas = document.querySelector(id);//引用视口
                //上下文
                this.ctx = this.canvas.getContext("2d");
                //资源文件地址
                //this.Rjsonurl = params.Rjsonurl;
                //设置画布的宽度和高度
                this.init();
                //var self = this;
                //读取资源(运用回调函数指针指引)时异步函数,所以我们不知道什么时候///执行完毕。但是其他的事情必须等到他完毕之后再执行。必须用回调函数。
//                this.loadAllResource(function(){
                        //我们封装的回调函数,这里表示全部资源读取完毕
        //                this.start();
        //        });
        }
        //初始化,设置画布的宽度和高度
        Game.prototype.init = function(){
                //读取视口的宽度和高度
                var windowW = document.documentElement.clientWidth;
                var windowH = document.documentElement.clientHeight;
                //让canvas匹配
                this.canvas.width = windowW-2;
                this.canvas.height = windowH-2;//这个2是你设置的border
        }
})(window);
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>视窗设计练习</title>
<!-- //视口标签 -->
        <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" id= "viewport"/>
        <style type="text/css">
            *{
                margin: 0;
                padding:0;
            }
            body{
                overflow: hidden;
            }
            canvas{
                 border:1px solid #000000;
            }
        </style>
    </head>
    <body>
    <canvas id="mycanvas"></canvas>
    <script type="text/javascript" src="./a.js"></script>
    <script type="text/javascript">
        var game = new Game("#mycanvas");
    </script>
    </body>
</html>

你这个canvas的border有影响
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-10-18 21:51:21 | 显示全部楼层    本楼为最佳答案   
(function(window){
        window.Game = function(id){
                //得到画布
                this.canvas = document.querySelector(id);//引用视口
                //上下文
                this.ctx = this.canvas.getContext("2d");
                //资源文件地址
                //this.Rjsonurl = params.Rjsonurl;
                //设置画布的宽度和高度
                this.init();
                //var self = this;
                //读取资源(运用回调函数指针指引)时异步函数,所以我们不知道什么时候///执行完毕。但是其他的事情必须等到他完毕之后再执行。必须用回调函数。
//                this.loadAllResource(function(){
                        //我们封装的回调函数,这里表示全部资源读取完毕
        //                this.start();
        //        });
        }
        //初始化,设置画布的宽度和高度
        Game.prototype.init = function(){
                //读取视口的宽度和高度
                var windowW = document.documentElement.clientWidth;
                var windowH = document.documentElement.clientHeight;
                //让canvas匹配
                this.canvas.width = windowW-2;
                this.canvas.height = windowH-2;//这个2是你设置的border
        }
})(window);
<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>视窗设计练习</title>
<!-- //视口标签 -->
        <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" id= "viewport"/>
        <style type="text/css">
            *{
                margin: 0;
                padding:0;
            }
            body{
                overflow: hidden;
            }
            canvas{
                 border:1px solid #000000;
            }
        </style>
    </head>
    <body>
    <canvas id="mycanvas"></canvas>
    <script type="text/javascript" src="./a.js"></script>
    <script type="text/javascript">
        var game = new Game("#mycanvas");
    </script>
    </body>
</html>

你这个canvas的border有影响
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-10-19 20:29:28 | 显示全部楼层
kogawananari 发表于 2020-10-18 21:51
你这个canvas的border有影响

var game = new Game("#mycanvas");   这个还是错误 ,无法执行。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-10-19 22:36:04 | 显示全部楼层
在我电脑上还行 可能是文件名你没改
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 23:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表