This, however, is where the negativity ends. I was very impressed with how little code you needed to write to achieve a lot of very clever effects. Coupled with the director class by Ricardo Rauber meant I could organise the project in a more logical sequence; i.e. a new script for each scene.
As an example please see a code excerpt for the results / restart page:
module(..., package.seeall)
--====================================================================--
-- SCENE: SCREEN 1
--====================================================================--
--[[
- Version: 1.3
- Made by Ricardo Rauber Pereira @ 2010
- Blog: http://rauberlabs.blogspot.com/
- Mail: ricardorauber@gmail.com
******************
- INFORMATION
******************
- Sample scene.
--]]
new = function ( params )
------------------
-- Imports
------------------
local ui = require ( "ui" )
------------------
-- Groups
------------------
local localGroup = display.newGroup()
color = display.newRect(0,0,display.contentWidth,display.contentHeight)
color:setFillColor(255, 255, 255)
myMessage = display.newText( "Congratulations you", 40, 60, native.systemFont, 24 )
myMessage:setTextColor(0,0,0 )
myMessage2 = display.newText( "finished in a time of", 40, 90, native.systemFont, 24 )
myMessage2:setTextColor(0,0,0 )
timeText = display.newText(_G.minsText.. " mins and " .._G.secsText .. " secs", 40, 120, native.systemFont, 24)
timeText:setTextColor(0,0,0)
local bt01t = function ( event )
if event.phase == "release" then
_G.secsText = 00
_G.minsText = 00
director:changeScene( "screen2")
end
end
local bt01 = ui.newButton{
default = "restart.png",
over = "restart.png",
onEvent = bt01t,
id = "bt01"
}
bt01.x = display.contentWidth / 2
bt01.y = (display.contentHeight / 2) + 50
localGroup:insert( color )
localGroup:insert( myMessage )
localGroup:insert( myMessage2 )
localGroup:insert( bt01 )
return localGroup
end
So based on my test criteria my findings were as follows:
- The ability to add in new scenes and transition between them was relatively straight forward when using the aforementioned director class class
- The generation of boxes on clicks was an adaption of a support example but was implemented with just a few lines of code.
- Scripting and the Lua language meant full control over conditional and game logic
- The wrapper around Box2D physics engine gave some excellent and realistic results
Price point is also pretty good coming in about 25% cheaper than GameSalad.
My next investigation will be Cocos2D as it has a lot of similarities in particular the physics engine: Box2D.
Check out the video below for the corona sdk version in action.

0 comments:
Post a Comment