Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在html5中绘制画布内的.tmx平铺地图_Javascript_Html_Canvas_Tiled - Fatal编程技术网

Javascript 在html5中绘制画布内的.tmx平铺地图

Javascript 在html5中绘制画布内的.tmx平铺地图,javascript,html,canvas,tiled,Javascript,Html,Canvas,Tiled,javascript中是否有任何函数可以读取.tmx图像文件并使用画布中图像的默认绘制函数在html5画布中绘制该文件context.drawImage(img,x,y,cw,ch)?不幸的是,javascript中不直接支持该函数,因此您必须为其编写解析器 下面的页面描述了如何解析TMX文件(由于大小和版权/许可,我无法从该页面粘贴任何内容)。这段代码是针对ActionScript的,ActionScript是JavaScript的一种ECMA脚本,因此代码本身并不难移植: 至于加载和解析X

javascript中是否有任何函数可以读取.tmx图像文件并使用画布中图像的默认绘制函数在html5画布中绘制该文件
context.drawImage(img,x,y,cw,ch)

不幸的是,javascript中不直接支持该函数,因此您必须为其编写解析器

下面的页面描述了如何解析TMX文件(由于大小和版权/许可,我无法从该页面粘贴任何内容)。这段代码是针对ActionScript的,ActionScript是JavaScript的一种ECMA脚本,因此代码本身并不难移植:

至于加载和解析XML本身:JavaScript有一个内置的XML解析器,即加载文件时使用的
XMLHttpRequest
对象,再加上
DOMParser
,请参见下面的答案:

如果你不想自己写,你可以看一看,例如,图书馆有一个内置的。该库是MIT授权的,因此您可以在自己的项目中自由使用其代码或部分代码

解析完文件后,您还需要有代码来将平铺放在画布上。简单的2D平铺引擎很容易制作。例如,您可以使用它作为起点(它不是JavaScript,但代码易于阅读和移植):


我可以将tmx.js包含在我的项目中,并使用它将我的tilemap加载到我的画布中?@Sora你应该能够做到这一点,至少我是这样理解“修改和合并”部分的,但是我又不是律师,不要把我说的任何话当作绝对的:)麻省理工学院的许可证要求你像本案一样包含原始版权标题。如果您使用不同的许可证,我建议您将其与您自己的项目隔离(以后您仍然可以缩小和合并)。但是,请在网上查看有关此主题的资源。