我正在用java脚本制作一个3D游戏而且这个图像没有绘制。 控制台以太网中没有出现任何错误。它告诉我它画了但我什么都没看到。这不是源的问题。它告诉我那里有一堵墙,但它并没有画出来。我知道这不是画布的问题。
完整代码:http://jsfiddle.net/andmoreguy/wja8atd0/
声明图片:
var wall1 = new Image();
声明地图:
var map = [];
map = [
[1,1,1,1,1,1],
[1,0,0,0,1,1],
[1,0,0,0,0,1],
[1,0,0,0,0,1],
[1,0,0,0,0,1],
[1,1,1,1,1,1]
];
声明身高地图:
var height = [];
height = [
[9,9,4,1,3,1],
[1,0,0,0,3,4],
[2,0,0,0,0,5],
[3,0,0,0,0,6],
[4,0,0,0,0,7],
[5,6,7,8,9,8]
];
渲染函数a = 45:
function renderblocks(a){
var j = 0;
for(var i = 0;i < 7;i++){
var check = checkblocks(a + j, i)
if(check == true){wall.onload = wall(i, dist);
console.log(true);
}
wall1.src = "assets/slide.png";
j++;
}
}
checkblocks功能:
function checkblocks(a, numb){
var stepy = 64;
var stepx = 64/Math.tan(a);
for(i=0;i<3;i++){
var x = stepx*i;
var y = stepy*i;
x = x/64;
y = y/64;
console.log(map[x][y])
dist = stepy * i / a;
if (map[x][y] == 1){ return true;}
}
}
和Wall功能:
function wall(numb, dist){
ctx.drawImage(wall1,numb*91,4,91,height[x][y]*64);
console.log("it drew")
}
答案 0 :(得分:0)
好。从您的代码中,我不太确定您希望最终产品的外观,或者您希望如何处理高度。但我做了一个例子,使用地图的1和0来绘制或不在画布上绘制墙部分。玩弄这个,我想你会得到它。
id(type(e1)), id(type(new_road)), id(my_graph.MyEdge)