Hi,
I’ve been spending the past couple of weeks looking at different cross-platform development systems and I think I’m close to deciding on Corona. Bit of background, I’m coming from developing for iOS using cocos2d. Anyway, I’ve taken the code for a tutorial (Fat Freddy for those interested, a nice starting point) and basically taught myself Corona (and Lua as it happens) from pulling it apart, extending and playing around with that over the last few days.
What I’ve found, however, is that I’ve come across a number of issues with Corona where it doesn’t operate or provide facilities that I’d really consider standard. Despite searching these forums a lot recently, I haven’t been able to find answers to them. These are:
-
Z Ordering. There seems to be no built in support for z ordering, which I’ll be honest seems like it should be a basic. Am I just missing something (more than possible) or is there no real z ordering support in Corona, save for removing, sorting and re-adding objects to the view manually?
-
Packed textures. I’ve been using TexturePacker for a while and I see support for it for sprite sheets specifically with functions just for animating frames. This seems strange, I’m used to packing pretty much all static images into textures which is much more memory efficient. Fortunately I have come across SpriteGrabber which provides this functionality but is there something in the core of Corona now that does away for the need for that? Otherwise, I’ll basically use SpriteGrabber and extend it to deal with different res packed textures for different devices.
-
On textures again, am I right in thinking that Corona loads everything into memory as 32-bit textures? cocos2d had a nice trick that allowed you to change the texture mode before loading a texture into memory so where 32-bit wasn’t needed, you didn’t have to gobble up more memory than you needed. Again, am I missing something in Corona that provides similar functionality? When dealing with mobile devices, with restrictive memory, this really does seem like a needed facility.
-
Audio. Admittedly I haven’t looked into this in detail, but is there no audio panning for sound effects? I’d kind of expect this to be in the audio.play() function call but I can’t see reference to it in the API docs.
-
Content clipping. This was actually an issue with cocos2d as well, but there was a third party ClippingNode class that was released that provided a solution to it. Basically, is there any built in way in clipping the contents of a group to a given rectangle, so anything in the group outside this will not be displayed. From reading on the forum, it seems like masks might be the way this is done but that seems quite wasteful in terms of texture memory.
Anyway, I’d appreciate any feedback or help on the above points. It’s more than likely that I’ve missed some obvious things (there’s a lot to go through here). I’m really liking the speed of development with Corona (especially using the Corona Project Manager) but coming to an essentially closed development environment where you can’t just break out at a lower level if needed, I’m a bit concerned about coming across problems that I simply won’t be able to find a solution for unless Corona has the facility added in.
Cheers,
Gareth [import]uid: 115159 topic_id: 20463 reply_id: 320463[/import]