我不长时间使用英特尔 XDK。我正在制作游戏,我希望画布可以在任何手机的屏幕上拉伸。我试过这个
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
在模拟器中,它很好。但在我的 Android (Nexus 7 G) 上只有页面背景。画布不见了!
我不长时间使用英特尔 XDK。我正在制作游戏,我希望画布可以在任何手机的屏幕上拉伸。我试过这个
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
在模拟器中,它很好。但在我的 Android (Nexus 7 G) 上只有页面背景。画布不见了!
使用英特尔 XDK,具有<canvas id="game"></canvas>
可选功能,您可以直接通过 访问画布对象intel.xdk.canvas
。
此外,画布始终是全屏的,您不需要自己拉伸它。
因此,您的问题可能与其他问题有关,您必须向我们展示您的代码示例,以便我们为您提供帮助。
尝试在触发 DeviceReady 后初始化画布,在触发 intel.xdk.device.ready 之前可能未初始化宽度和高度。
这是修改后的代码:
<!DOCTYPE html><!--HTML5 doctype-->
<html>
<head>
<title>Your New Application</title>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
<style type="text/css">
/* Prevent copy paste for all elements except text fields */
* { -webkit-user-select:none; -webkit-tap-highlight-color:rgba(255, 255, 255, 0); margin:0; padding:0; }
input, textarea { -webkit-user-select:text; }
html, body { background-color:red; color:black; width:100%; height:100%;}
canvas{background-color: #f00; position: relative; display:block;}
</style>
<script src='intelxdk.js'></script>
<script type="text/javascript">
/* This code is used to run as soon as Intel activates */
var onDeviceReady=function(){
initCanvas();
//hide splash screen
intel.xdk.device.hideSplashScreen();
};
document.addEventListener("intel.xdk.device.ready",onDeviceReady,false);
function initCanvas(){
var canvas = document.getElementById("game");
var ctx = canvas.getContext("2d");
canvas.width = window.innerWidth;
canvas.height = window.innerHeight;
}
</script>
</head>
<body>
<canvas id="game"></canvas>
</body>
</html>