… I don’t like it… in it’s current form.
- First major flaw - don’t make it in Corona, use normal UI toolset.
Obviously you want to make your own “LevelHelper” (plus “Kwik” or “Flash”). Well, their interface is much more complex and provides much more functionality.
If you continue to use Corona for Composer you will run in all sorts of problems because of that - I gurantee.
For such product coming from the brand, people expect enterprise quality for desktop experience, which Corona simply can’t provide.
Use wxWidgets to develop UI. It’s easy and looks good. You still can write in Lua the whole thing, wx has bindings to Lua. Take ZeroBrane Studio as example.
Show corona workspace as Corona Card, but make support for mouse right click. People need to Right Click! With a context menu relevant to the current object under the mouse. (send signal from corona card to wx composer).
- Align to corners and edges.
You have an instrument to position an element in corners, but it’s not dynamic. To maintain different aspect ratios you have to provide support for positioning relative to corners/edges. (edge is center point of a side). For example I make button, choose it’s anchor points to BottomRight, then I tell it to be relative to BottomRight corner of the screen, then I put offset x = -10px, y = -10px. That way I have a button which is 10 pixels away from bottom right corner on all devices.
Take into account my awesome config.lua from my guest piece.
-
Add ability to import sketches of the app and put them on background for mockuping. Like you do in many mockup apps.
-
Operate in terms of actions/signals. Take wxBuilder and qtCreator as example. How they bind created ui to the app. With Lua it becomes simpler though.
-
Animations is a whole different story. Look how complex is Spine. But yeah, simple animations are possible.
-
Put all scenes into ‘scenes’ subdirectory.
7. getObjectByTag must be getObjectById. By Tag you can get many objects, this must be a lua iterator. for id, obj in self:getObjectsByTag(‘sparkle’) do obj:twinkle() end
- Better to expose all objects via a simple table. self.objects.button1, self.objects.rect1
I want such tool exist, but it needs a good implementation.
PS. I knew something is going on when you suddenly renamed storyboard to composer, which is no way a right name for scene manager, heh.