定位javascript图像

定位javascript图像,javascript,html5-canvas,Javascript,Html5 Canvas,我得到了2个tilesheet图像,我完全完成了渲染,但我不知道如何将角色放在地图前面 我将这些图像放在两个不同的js文件中 这是字符js文件: " 功能绘图框(frameX,frameY,canvasX,canvasY){ ctx.图纸图像(img, frameX*宽度,frameY*高度,宽度,高度, 画布、画布、缩放宽度、缩放高度); } loadImage()requestAnimationFrame在每次调用函数后都会不断地调用drawMap()。这意味着,如果第一个图像已绘制一次

我得到了2个tilesheet图像,我完全完成了渲染,但我不知道如何将角色放在地图前面

我将这些图像放在两个不同的js文件中

这是字符js文件: "

功能绘图框(frameX,frameY,canvasX,canvasY){
ctx.图纸图像(img,
frameX*宽度,frameY*高度,宽度,高度,
画布、画布、缩放宽度、缩放高度);
}

loadImage()
requestAnimationFrame
在每次调用函数后都会不断地调用
drawMap()
。这意味着,如果第一个图像已绘制一次,则贴图将在第二个动画帧(以及之后的每一帧)上绘制

要简化流程,请创建一个调用所有绘制方法的函数,以便可以控制项目的绘制顺序。然后在此函数中使用
requestAnimationFrame
,而不是当前的
drawFrame
函数,以便按照所需的顺序在每个帧上重新绘制每个项目

函数drawerything(){
drawMap();
牵引架();
window.requestAnimationFrame(抽屉所有内容);
}
现在,在准备开始动画时调用
drawerything()

还有一件事:如果项目将在画布动画中的任何位置移动,则应在每次新绘制时清除画布。否则,画布将很快变成一堆颜色

函数drawerything(){
//删除当前帧
//(注意:此处将400替换为画布宽度,将300替换为画布高度)
ctx.clearRect(0,0,400,300);
drawMap();
牵引架();
window.requestAnimationFrame(抽屉所有内容);
}

嘿,它很管用!!!非常感谢@tlong314!!我真的很感激。