[英]Background image javascript HTML5 canvas
我正在尝试使用javascript创建一个简单的游戏以在简单的网页上运行。 由于某种原因,我无法加载背景图像。 我反复搜索并尝试了多种方法,但最终得到了黑白画布。 请帮我,因为我不知所措。
这是我的代码段:
<body>
<!-- Site navigation menu -->
<ul>
<li><a href="index.html">Play Game</a></li>
<li><a href="about.html">About</a></li>
<li><a href="help.html">Help</a></li>
</ul>
<!-- Creating the canvas -->
<canvas id= "gameCanvas" width="600" height="480"></canvas>
<script>
var canvas = document.getElementById("gameCanvas");
var ctx = canvas.getContext("2d");
var bkGround = new Image();
bgImage.src = '/images/backGround.jpg';
bkGround.onload = function(){
ctx.drawImage(bkGround,69,50);
}
</script>
期待中的感谢。
我相信您可能会在压缩加载之前尝试使用背景图片,但是您也可以将这些方法与CSS一起使用。
您可以使用CSS并在样式块中定义或在JS中动态设置它。
<style>
#gameCanvas{
background-image: url(/images/backGround.jpg);
background-size: cover;
background-repeat: no-repeat;
background-position: center center;
}
</style>
或者,如果更喜欢JS:
document.getElementById("gameCanvas").style.background = "url('/images/backGround.jpg')";
注意-确保图像可访问浏览器。 如果使用JS,还请检查您的控制台是否有错误-JS在到达您的代码之前可能会因错误而中断。 另请参见HTML5 Canvas背景图片作为工作示例
尝试在onload事件中加载它。并根据建议检查控制台,看是否有任何错误。
什么是bgImage
? bgImage.src = '/images/backGround.jpg';
?
body.onload = RenderImage;
function RenderImage()
{
//Your existing script
}
尝试将bgImage
更改为bkGround
。 并在设置onload
回调后移动设置src
属性。
因此,您的代码将是:
<canvas id= "gameCanvas" width="600" height="480"></canvas>
<script>
var canvas = document.getElementById("gameCanvas");
var ctx = canvas.getContext("2d");
var bkGround = new Image();
bkGround.onload = function(){
ctx.drawImage(bkGround,69,50);
};
bkGround.src = '/images/backGround.jpg';
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.