【发布时间】:2016-02-16 06:51:32
【问题描述】:
周末的任务是使用canvas和javascript制作一个吃豆人风格的游戏。根据我正在观看的教程,当我运行它时,我应该看到地图的第一行,但我只是得到地图边框。
这是我的 HTML
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta charset="utf-8" />
</head>
<body>
<canvas id="myCanvas" width="800" height="500" style="border: 1px solid gray"></canvas>
<script src="file1.js"> </script>
</body>
</html>
这是我的打字稿
let canvas = <HTMLCanvasElement>document.getElementById('myCanvas');
let context = canvas.getContext("2d");
let img = new Image();
img.onload = function () {
context.drawImage(img, 0, 0);
}
img.src = "zombie.png";
let mapArray =
["############################",
"# # # o ##",
"# #",
"# #### ##### ## #",
"## # # ## #",
"### ## # #",
"# ### # #",
"# #### ### #",
"# ## # o #",
"# o # # o ### ### #",
"# # # #",
"############################"];
//need to add wall.scource = and grass.source =
let wall = new Image();
let grass = new Image();
grass.src = "C:\Users\Scott\Desktop\grassimg.jpg";
wall.src = "http://www.tecmobowl-vs-rbi.com/uploads/3/5/3/8/3538178/_2943519.jpg";
let posX = 0;
let posY = 0;
//for loops set images at given coordinates according to position on mapArray
for (let i = 0; i < mapArray.length; i++) {
for (let j = 0; j < mapArray.length; i++) {
if (mapArray[i][j] == "") {
context.drawImage(grass, posX, posY, 32, 32)//last two are size of image )
}
if (mapArray[i][j] == "#") {
context.drawImage(wall, posX, posY, 32, 32)//last two are size of image )
}
posX+=32
}
}
任何帮助显示其中的一些都很棒!
【问题讨论】:
-
你能给个更好的标题吗?描述真正的问题,而不是你如何解释它。
-
当然!对它的标题有什么建议吗?
-
你在哪里测试你的打字稿代码?
-
你的控制台有错误吗?
标签: javascript html canvas typescript