newt I still think that filling entire tilemap by hand inside layout editor.. with 1px tiles.. is a real pain in the butt, pardon my french.
At least until we get an adjustable "tile brush" or something like that.
I guess, generating tilemap (as a collision mask, just one tile) and using sprites as a reference is a way to go. Probably I'm wrong:(
And i really have no idea how to implement generation of non-rectangular shapes, due to the limitaions of C2 and tilemap system.
everyone and especially R0J0hound :P
=
( Caution! Abusive logic detected. Author is not responsible for any brain damage caused by reading the following text )
=
But! Imagine that we have a method to detect alphachannel value of a particular pixel in a raster image?
Something like pixelalpha(x,y)=[0..255]. Where (x,y) is the position of the pixel inside an image.
(I believe it's not too hard to implement it as plugin or something..
No idea how it works, tho :P)
Then we could set up our layout with sprite scenery( lets call it MaskSprites ), like I did in the example..
NOTE that MaskSprites should have origin at top-left.
On start of layout we just need to populate a huge array.
Here it gets tricky and will definitely take a while to do..
So, for each MaskSprite we run a loop like
| for i from 0 to MaskSprite.width
| {
| for j from 0 to MaskSprite.height
| {
| if pixelalpha(i,j)=255 set Tilemap At(MaskSprite.X + i, MaskSprite.Y + j)
| }
| }
So we'll get our collisionmask tilemap generated, following the shape of all MaskSprites we have.. And we have our layout scenery underneath. Then give our tilemap something like Addictive blendmode or Overlay fx and TADAM! We have our level :D
Does that make any sense, guys?:P
UPD: I do understand that generating entire level each time we start our layout ingame is insane xD
But we can use it in level editor or something, then save our tilemap as JSON( or however we save tilemaps ) and just load it from that file?