html循环空间图片,HTML5在画布上使用for循环绘制图片?

所以,我想创建一个使用HTML5的minecraft网站主题。我在HTML5/Javascript中有点不稳定(有一段时间没有用过),我需要一些帮助。我正在尝试计算可以放在屏幕上的16x16px数量的瓷砖。然后,为屏幕背景随机“生成地图”。然后,我使用相同的2 for循环来生成地图,以填充画面(在生成过程中分配画面路径)。问题是,画布完全是白色的。任何人都可以挑出问题,如果可能的话给我任何提示?提前致谢!这里是我的HTML5代码:HTML5在画布上使用for循环绘制图片?

Minecraft Background Check

"use strict";

var c = document.getElementById("bg");

var ctx = c.getContext("2d");

ctx.canvas.width = window.innerWidth;

ctx.canvas.height = window.innerHeight;

var width = Math.ceil(window.innerWidth/16);

var height = Math.ceil(window.innerHeight/16);

for (var x=0;x

{

for(var y=0;y

{

var rand = Math.floor(Math.random()*11);

var texLoc = getImageNameFromRand(rand,y,height);

var img=new Image();

img.onload = function(){

return function() {

ctx.drawImage(img,x*16,y*16);

};

};

img.src=texLoc;

}

}

function getImageNameFromRand(rand,yVal,maxY)

{

var dirt = 'dirt.png';

var stone = 'stone.png';

var cobble = 'cobble.png';

var mosscobble = 'mosscobble.png';

var bedrock = 'bedrock.png';

if(yVal===0)

{

return dirt;

} else if(yVal<3)

{

if(rand < 7) {

return dirt; }

else {

return stone; }

} else if(yVal<5)

{

if(rand < 4) {

return dirt; }

else {

return stone; }

} else if(yVal

{

if(rand === 0) {

return dirt; }

else if(rand < 4) {

return cobble; }

else if(rand < 5) {

return mosscobble; }

else {

return stone; }

} else if(yVal

{

if(rand < 4) {

return bedrock; }

else {

return stone; }

} else if(yVal

{

if(rand < 7) {

return bedrock; }

else {

return stone; }

} else {

return bedrock; }

return bedrock;

}

2012-03-07

Flafla2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值