Javascript 在html5中绘制画布内的.tmx平铺地图
javascript中是否有任何函数可以读取.tmx图像文件并使用画布中图像的默认绘制函数在html5画布中绘制该文件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
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你应该能够做到这一点,至少我是这样理解“修改和合并”部分的,但是我又不是律师,不要把我说的任何话当作绝对的:)麻省理工学院的许可证要求你像本案一样包含原始版权标题。如果您使用不同的许可证,我建议您将其与您自己的项目隔离(以后您仍然可以缩小和合并)。但是,请在网上查看有关此主题的资源。