First, thanks to Corona Labs for allowing us to test-drive this new feature. Please keep that up! It’s awesome to feel like we’re helping to steer the ship in our own little way.
Like many other Ambassadors have indicated, I am of two minds when it comes to Composer. On the one hand, I think it’s possibly a great way to open up Corona to even more newbie developers and lower the knowledge barrier to get started with Corona. And (as I’m sure you are aware) if it is a feature that sits behind a paywall, it could be a great way to convert starter users to paid users. But on the other hand, I do worry about the resources that will be required to maintain it as a feature, and that other - possibly more useful - features and bug fixes might be delayed because of upkeep on Composer. Anyways, enough about that. Here are my specific thoughts based on my early testing:
-
At the moment, there seems to be no support for @2x image resizing. When I popped an @2x version of an image into the assets folder, two separate instances of the image appeared in the GUI.
-
Also, when I popped those new assets into the project folder, the Composer GUI didn’t automatically detect them and refresh the asset library. That should definitely be in the 1.0 release.
-
I do have reservations about the way Composer exports it’s data into the SDK. A JSON table is definitely the most efficient way, but the lack of readability removes a great deal of the usefulness, at least for me. I don’t see myself using Composer to build an actual app - it’s just not how I like to do things (I don’t like giving up control to WYSISYG-type tools…I know, I’m a troglodyte). However, I could see myself using Composer to rapid prototype a level, or to lay things out quickly, and then copy and paste the useful bits of code from the resulting Lua file (X and Y coordinates, for example, seem especially ripe for this sort of use). But since Composer doesn’t export readable code at the moment, it would mean manually parsing through the JSON data, which sort of defeats the point. Again, this might just be a result of me not fully committing to using Composer - but I thought I’d mention it.
-
Regarding my above comment, perhaps Composer could export a complete scene:create function that we simply require into a project (or not require, but peruse for code to copy/paste as needed)? For example, composer could output a cc_sceneName.lua that looks something like this this:
function scene:create( event ) local sceneGroup = self.view local object1 = display.newImage(sceneGroup, “assets/someImage.png”) object1.x, object1.y = 100, 200 end
And then in sceneName.lua, instead of typing in the scene:create function, we could simply type:
require ("cc\_sceneName.lua")
Could that work? Just an idea.
I will try to put together more feedback later on (I’m at my day job right now) - but I wanted to at least get some initial thoughts up on the forum fast enough to be useful. Thanks, David and all you guys/gals at Corona Labs!