[PLUGIN] TMX importer

Post your completed addons to share with the community

Post » Tue Feb 10, 2015 5:17 am

Well yeah, that's a given. The problem is getting the proper tile data into each tilemap object..I have no idea why it isn't working.

1) I can only get 1 tilemap object to load the proper tile data
2) The tilemap objects occasionally get the tile data mixed up (I assume this has something to do with loading the tilemap images externally)

I don't even know what else can be done - there aren't a lot of options.

I've uploaded a simple project folder here if you wouldn't mind taking a look. (Extract the Test folder onto your desktop for external files to work)
Last edited by Tokinsom on Tue Feb 10, 2015 8:16 pm, edited 2 times in total.
Image
B
225
S
27
G
13
Posts: 1,774
Reputation: 18,024

Post » Tue Feb 10, 2015 6:56 am

@Tokinsom , here's a capx showing how to load the tmx data, parse it into json data and throw it into a tilemap object. Doesn't require any special plugins. Maybe it'll help?
You do not have the required permissions to view the files attached to this post.
B
34
S
18
G
37
Posts: 851
Reputation: 22,945

Post » Tue Feb 10, 2015 8:29 pm

@Prominent I appreciate the .capx but having no knowledge of xml or js makes it pretty difficult to use...I need it to read multiple tilemaps, objects, and numerous properties as well.

I am really close with the project I linked earlier - there's just a few weird problems that don't make any sense. Never had these problems when using sprites instead. @rexrainbow can one of you please check it out?
Image
B
225
S
27
G
13
Posts: 1,774
Reputation: 18,024

Post » Tue Feb 10, 2015 8:58 pm

@Tokinsom , I'm not using the latest version, so I couldn't check your project, but accessing objects/properties from the tmx file should be relatively easy if you spend a little time getting familiar with XPath and how to access data from an xml file. I didn't know much about it prior to making that capx, and it was simple to figure out with a couple tutorials. I don't think you'd need to use javascript for any of the object/property stuff. The only reason why I had to use javascript was to change the way the tile data was structured.
If you're using the tmx importer, I'm not familiar with that, so I guess rexrainbow would need to check out how you're using it since I can't help you with that.
B
34
S
18
G
37
Posts: 851
Reputation: 22,945

Post » Wed Feb 11, 2015 2:55 am

@Tokinsom

It is better using browser (chrome) export since it is easy to dump debug message.
In this capx, I saw one tilemap object type for two instance, each instance loads one image. It might not work, because one tilemap object type only owns a image for all instances.
B
97
S
22
G
176
Posts: 4,108
Reputation: 103,019

Post » Fri Feb 19, 2016 8:01 am

Update

Add "Action:Reset tilemap" to load tile ID of a layer into official tilemap object.
B
97
S
22
G
176
Posts: 4,108
Reputation: 103,019

Post » Fri Mar 25, 2016 11:34 am

@rexrainbow

Hi, I have trouble with your TMX plugin with using XML importer, and with JSON the same problemImage
Image
Code: Select all
"<?xml version=""1.0"" encoding=""UTF-8""?>
<map version=""1.0"" orientation=""staggered"" renderorder=""right-down"" width=""30"" height=""120"" tilewidth=""238"" tileheight=""119"" staggeraxis=""y"" staggerindex=""odd"" nextobjectid=""1"">
 <tileset firstgid=""1"" name=""Tiles"" tilewidth=""236"" tileheight=""119"" tilecount=""4"" columns=""2"">
  <image source=""Tiles.png"" width=""472"" height=""238""/>
 </tileset>
 <layer name=""Grid"" width=""30"" height=""120"">
  <data encoding=""csv"">
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,1,1,1,1,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,1,1,1,0,0,
0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,0,0,
0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,
0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,2,1,1,1,1,1,1,1,1,1,1,1,1,1,0,
0,0,0,0,1,2,2,1,1,1,1,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,0,0,
0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,1,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,0,
0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,0,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,0,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,0,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,0,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,3,3,2,2,3,3,3,3,3,2,2,1,1,1,0,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,1,1,0,0,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,1,1,0,0,0,
0,0,0,1,1,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,2,2,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,1,1,0,0,0,
0,0,1,1,1,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,2,2,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,2,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,1,0,0,0,
0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,2,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,2,2,2,1,0,0,0,
0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,2,2,2,1,0,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,1,1,0,0,0,
0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,1,0,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,1,1,0,0,0,
0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,1,0,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,1,1,0,0,0,
0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,2,2,1,0,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,1,1,1,0,0,0,
0,1,1,2,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,2,1,1,1,0,0,0,0,
0,0,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,1,1,1,1,0,0,0,
0,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,1,1,1,1,0,0,0,0,
0,0,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,3,3,2,2,1,1,1,1,0,0,0,0,
0,0,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,2,2,1,1,1,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,3,3,2,1,1,1,0,0,0,0,0,0,
0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,3,3,2,2,1,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,3,3,2,1,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,3,3,2,2,1,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,2,3,3,2,1,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,3,3,2,1,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,2,3,3,2,1,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,3,3,2,1,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,3,3,2,1,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,3,2,1,1,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,3,3,2,1,1,0,0,0,0,0,0,0,
0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,2,3,3,2,1,1,1,0,1,0,0,0,0,0,
0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,3,2,1,1,1,1,1,0,0,0,0,
0,0,1,1,1,1,1,0,0,0,0,0,0,1,1,2,2,3,3,2,2,1,1,1,1,1,0,0,0,0,
0,0,1,1,1,1,1,1,0,0,0,0,1,1,1,2,2,2,3,3,2,2,1,1,2,1,1,0,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,3,3,2,2,2,2,2,2,1,0,0,0,0,
0,0,1,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,2,2,2,2,2,1,1,0,0,0,
0,0,1,2,1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,2,2,2,2,2,2,1,0,0,0,0,
0,0,1,2,2,2,2,1,1,1,1,1,1,2,2,2,2,3,3,2,2,2,2,2,2,1,1,0,0,0,
0,0,1,2,2,2,2,1,1,1,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,1,0,0,0,0,
0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,1,1,0,0,0,
0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,1,0,0,0,0,
0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,2,2,2,2,1,1,0,0,0,
0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,1,1,0,0,0,
0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,1,1,0,0,0,
0,0,1,2,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,3,3,3,2,3,3,3,3,3,3,2,1,1,0,0,0,
0,0,1,2,2,2,2,2,2,2,2,2,2,3,3,3,2,3,3,3,3,3,3,2,2,1,0,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,2,3,3,2,2,3,3,3,3,3,3,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,3,3,3,2,3,3,3,3,3,3,2,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,2,3,3,3,2,2,3,3,3,3,3,3,2,1,1,0,0,0,
0,0,1,2,2,2,2,2,2,2,2,2,3,3,3,2,2,3,3,3,3,3,3,2,2,1,0,0,0,0,
0,0,1,1,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,2,1,1,0,0,0,
0,0,1,1,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,1,0,0,0,0,
0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,0,0,0,0,
0,0,1,1,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,1,1,0,0,0,0,
0,0,1,1,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,1,0,0,0,0,
0,0,1,1,2,2,3,3,3,3,3,2,2,2,2,2,2,2,3,3,3,3,3,2,1,1,0,0,0,0,
0,0,1,1,2,2,3,3,3,3,2,2,2,2,2,2,2,2,3,3,3,3,3,2,1,1,0,0,0,0,
0,1,1,1,2,2,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,1,0,0,0,0,0,
0,0,1,1,2,2,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,3,2,2,1,1,0,0,0,0,
0,1,1,1,2,3,3,3,2,2,2,2,2,2,2,2,2,2,3,3,3,2,2,2,1,0,0,0,0,0,
0,1,1,1,2,2,3,3,2,2,2,2,2,2,2,2,2,2,2,3,3,2,2,2,1,0,0,0,0,0,
0,1,1,1,1,1,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0,0,
0,1,1,1,1,1,1,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,0,0,0,0,0,
0,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0,0,
0,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,1,1,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,1,1,0,0,0,0,0,
0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,1,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,1,1,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,2,2,1,1,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,2,1,1,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
</data>
 </layer>
</map>"
B
20
S
6
G
2
Posts: 173
Reputation: 2,762

Post » Fri Mar 25, 2016 11:54 am

Update

Try to support "staggered" map.


@norman74
If the implementation of staggered map still has bugs, please send me a simple test capx for this case.
B
97
S
22
G
176
Posts: 4,108
Reputation: 103,019

Post » Fri Mar 25, 2016 4:52 pm

@rexrainbow

Now it works ok
But why all Tiles have Tile.LX = 0 and Tile.LY = 0? I think LayoutToBoard works incorrect
Image
B
20
S
6
G
2
Posts: 173
Reputation: 2,762

Post » Fri Mar 25, 2016 5:18 pm

@norman74

Plugin LayoutToBoard is used to put all tiles/chess into a rex_board. It will calculate the logical position of all tiles/chess by their related pixel position. It is incorrect in your case since there is only 1 tile put into the board, it is considered to (0,0) always.

You might try "action: Add chess" of rex_board plugin, to add chess with logic position ( Expression:LogicX , Expression:LogicY ) provided by tmx plugin.
B
97
S
22
G
176
Posts: 4,108
Reputation: 103,019

Previous

Return to Completed Addons

Who is online

Users browsing this forum: No registered users and 1 guest