This release of Corona Game Edition includes all fixes and additions from the Corona SDK 2010.148 release, and includes a new Welcome window, tighter integration with sprite sheet generator tools, and new samples.
1 2 3 4 5 6 7 | local sprite = require("sprite") -- In this case, test.lua is exported from Zwoptex local test = require("test.lua") -- Method defined by test.lua that returns table data defining the sprites local spriteData = test.getSpriteSheetData() -- Load the sprite sheet in test.png using the sprite definitions from spriteData local spriteSheet = sprite.newSpriteSheetFromData( "test.png", spriteData ) |
And below is the "test.lua" file specified in the code above.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | function getSpriteSheetData() local sheet = { frames = { { name = "01.png", spriteColorRect = { x = 38, y = 38, width = 50, height = 50 }, textureRect = { x = 2, y = 70, width = 50, height = 50 }, spriteSourceSize = { width = 128, height = 128 }, spriteTrimmed = true, textureRotated = false }, { name = "02.png", spriteColorRect = { x = 38, y = 36, width = 50, height = 52 }, textureRect = { x = 2, y = 242, width = 50, height = 52 }, spriteSourceSize = { width = 128, height = 128 }, spriteTrimmed = true, textureRotated = false }, } } return sheet end |
1 | TexturePacker --sheet test.png --data test.lua --format corona sprites/*.png |
dispose() disposes of a sprite sheet and releases its texture memory. It also calls removeSelf() on all sprite instances using the sheet, removing them from the stage. All sprites, sequences, and sets that belong to the removed sprite sheet are no longer valid after calling this method, and will be garbage collected when they are no longer referenced by your application's Lua code.
1 2 3 4 | local sprite = require("sprite") local spriteSheet = sprite.newSpriteSheet("test.png") -- Later dispose of the sprite sheet and all of its associated sprites, sequences and sets. spriteSheet.dispose() |
launchDashboardWithListLeaderboardsPage(), launchDashboardWithListLeaderboardsPage(), launchDashboardWithAchievementsPage(), launchDashboardWithFindFriendsPage(), launchDashboardWithWhosPlayingPage(), launchDashboardWithHighscorePage(). The replacement APIs are:1 2 3 4 5 6 | openfeint.launchDashboard("leaderboards") openfeint.launchDashboard("challenges") openfeint.launchDashboard("achievements") openfeint.launchDashboard("friends") openfeint.launchDashboard("playing") openfeint.launchDashboard("highscore") |
setHighscore( leaderboardId, score ) is also deprecated. Its replacement is:1 | openfeint.setHighScore( { leaderboardID="abc123", score=99 [, displayText="99 sec"] } ) |
newSpriteSheetFromData() method.
(Released September 16, 2010)
This release brings the various Corona features of the past several months to production quality, with fixes that literally extend back over a thousand bug numbers.
But we are not stopping here! We plan to continue a schedule of regular releases, since this has been a big part of our success so far. Mobile is a rapidly-evolving space, and we've got a lot of amazing things planned for future editions of Corona throughout the coming months.
We would like to thank our early adopters, and everyone who shipped all the great apps during our beta period. We look forward to seeing what you make in the future!
We've added a launcher window that allows easy navigation to common features, documentation, and demos. The welcome window replaces the "Open..." dialog that appeared on launch in prior builds. You can optionally disable this screen, in which case you'll only see the menu bar.
Note: when using the Corona Terminal or debugger, you may need to bring the Corona simulator to the foreground manually. For the debugger, you'll then need to actually open a project to run after bringing the simulator to the foreground.
We know many of you are using Corona SDK and Game Edition on both a laptop and a desktop, and having to de-authorize and re-authorize your machines manually. Now in the new release of Corona SDK at $249 and Game Edition at $349, you can authorize one primary and one secondary machine per license. See our blog for more information.
system.pathForFile copies the resource file from the ZIP archive to a private storage directory associated with the application, and then returns the path to that file. There are some caveats to keep in mind, however, such as storage limits on the device. For more information, see system.ResourceDirectory in the Corona API reference.
(Released August 26, 2010)
Beta 8 dramatically improves Corona development for multiple devices, multiple screens, and multiple OS versions. Specific build options now support iOS 4.0 and all available versions of Android, as well as the iPad and iPhone Xcode simulators.
This beta also includes a number of new features, including support for audio recording and improved memory handling:
This beta also fixes a large number of bugs; a full list of bugs fixed is below.
The iOS low memory warning is now exposed as a new Corona event type named "memoryWarning", documented in the "Events and Listeners" section of the API Reference.
Beta 8 includes new APIs for recording audio and for audio tuning (for example, building a guitar tuner application).
For documentation on these features, see the "Audio Recording" and "Audio Tuner" sections of the API reference.
The Beta 8 sample code has been entirely overhauled to support multiple-screen deployment, and should now run properly in all available devices within the Corona Simulator, including the Android devices and the new iPhone4. This has mostly been achieved through the use of "config.lua" files, in addition to some revisions to background graphics (for example, enlarging background sizes to fill the "bleed" area when scaling in "letterbox" mode on devices with a different aspect ratio).
Also, the /SampleCode directory has been reorganized into new categories, and includes several new sample projects, listed below:
Tableview1, Tableview2, Tableview3 -- Demonstrates a library for creating scrolling table views in Corona, in three different styles.
NativeDisplayObjects -- Demonstrates the iOS native objects (not all native objects are implemented on Android).
MultitouchFingers - Shows how to track multiple touches simultaneously.
NativeKeyboard2 - An improved version of "NativeKeyboard"
AudioPlayer - Shows how to play back different audio types and files on different platforms
SystemEvents -- Displays Orientation and System events
Accelerator -- Displays Accelerometer events
SaveTable - Demonstrates a quick method for saving the contents of a Lua table to a local textfile, then reloading the data into a table
SQLite - Demonstrates how to create and store data in a local SQLite database
TimeAnimation - Shows how to make time-based rather than frame-based animation
#121 EventSound stops after 750 repetitions on iPhone (timer.performWithDelay problem)
#134 math.random not that random when seeded
#139 Clock sample app freezes (timer.performWithDelay problem)
#189 Improved performance of property accesses in display object
#191 Inconsistent name for myTouch
#200 Android: Frame rate drops due to Dalvik GC
#238 Android: Shake is too aggressive (caused by accelerometer values 10x that of iPhone; values are now scaled to be the same as iPhone)
#264 Add Android 1.6, 2.2
#269 Android: crash on resume (and various redraw issues on resume)
#287 Copy subfolders when doing device builds
#295 Android video playback crashes
#303 Destination device build folder doesn't work when folder name contains spaces
#304 Improved warning message when resource file does not exist
#311 Separate and remember Build Folder and Save to Folder
#313 media.playSound doesn't support baseDirectory
#434 Simulator should create Sandbox folder before calling main.lua
#441 iPad Xcode Simulator Builds don't work
#442 Android Device id returns non unique string
#463 Debugger doesn't pause the app at launch time
#465 AudioPlayer - some sound files don't play on iPhone device
#467 iPad/Multitouch sample app is broken
#471 Device/Camera sample app displays incorrect output on capture
#472 Device/DeviceInfo sample fix for text overflow
#487 iPhone App Crashes in Xcode Simulator
#497 File names in simulator are not case sensitive
#506 Remove simulator time bomb
#524 No applicationStart system event in Simulator when Default.png is present
#529 iPhone Application Build does crash on iPad (and only there)
#532 newTextBox crashes in Xcode simulator
#541 Android app crashing on exit
#548 BUILD ERROR message in terminal lacks newline
#558 Android stopSound doesn't work (also media.getSoundVolume)
#556 Android: eventSound must preload
#560 Xcode Simulator can only run an app once
#614 No warning messages with display.stageWidth/Height in simulator
#630 Remove iPhone+iPad "Options" button from dialog
#633 Plist not working in build.settings
#640 display.captureScreen now supports iPhone4/iPad-sized screens
#669 Android 1.6 and 2.2 device builds fail
#705 Enable iPhone builds to run at 60 fps
#706 Add iPhone4 skin to simulator
#707 Android: remove unused options from Android build dialog
#708 Status bar incorrectly scaled in Simulator when using dynamic content scaling
#717 Simulator does not disable load, loadfile, loadstring, dofile
#722 Fix android dialog resizing issues
#735 Crash in simulator and device with invalid code (text.setColor instead of text:setColor)
#742 Crash when invalid value is passed to getInfo
#748 Crashing simulator with system.getInfo(platformName)
#781 text = followed by setTextColor results in text color not set
Beta 7 will significantly improve your productivity on iPhone. You can now build for the Xcode simulator and test native UI features directly on your Mac. We recommend you do fast iterations in the Corona Simulator, initial testing on the Xcode simulator, and then final testing on the device.
Here’s the complete list:
#222 Simulator Landscape Rendering not centered in device skin (windows jumps 10-20 px)
#284 Photo library crashes on iPad
#288 Expose device info
#290 Incorrect warning for case sensitivity (for file names)
#292 Launch on 1024x768 screen causes crash
#294 Using completion listener of media.playSound() crashes
#297 Crash when running CaptureToFile sample on simulator with beta6
#298 media.playSound Crashes when Stopped
#299 media.playSound Loops after Loop is removed
#300 playEventSound Crashes Simulator if sound file doesn't exist
#301 native.newTextField() can't be removed
#302 iPhone App won't work when built for OS 3.2
#307 Free Display Object with object:selfRemove
#308 Add Xcode Simulator to build
#309 Simulator stops running when menu open
#310 Make Sandbox Folder Name Accessible in Simulator
#344 Texture Memory Not Being GC'd
#429 Android: downloaded image not displaying
We have added the ability to build/launch in Xcode simulator. There is a new "Build for" category in the iPhone build dialog. To build for iPhone/iPad, select "Device". To build/launch in the Xcode simulator, select "Xcode Simulator".

We have added a menu item "Show Project Sandbox" which causes the current project's sandbox folder to be opened in the Finder.

The following API has been added:
See system.getInfo() in the Corona API Reference.
In Beta 8, we made improvements to how memory is managed in regard to the removal of display objects. For details, see Memory management improvements in Corona SDK Beta 8.
KNOWN ISSUE: The iPad version of the Multitouch sample has not been properly updated to account for the multitouch API change. We'll update this on the next release Please look at the iPhone version instead.
(Assorted bug numbers): Fixes for properly mapping points to pixels on iPhone4 high-resolution displays
#229: Multitouch not working with simultaneous button presses
#155: Multitouch "began" phase not always firing
#252: Simulator doesn't sandbox documents
#257: Facebook connect not working: This appears to be caused by temporary issues on Facebook's servers
#236: Twitter: This sample code requires building on device, since it uses native OS multiline text fields.
(No case #) Improved warning about filename case sensitivity in simulator.
#188: Need native UI support for landscape. (Previously everything but webpopups were fixed; now webpopup is too.)
#224: empty orientation table in build.settings crashes Simulator
#218: Beta 4 - Simulator Broken for Landscape Orientations with Fixed Content build.settings
#202: build.settings default orientation bug. To create consistency, landscapeLeft and landscapeRight are now defined in terms of the position of the Home key (left or right)
#122: easing.inOutQuad "jumps"
#219: Web popup doesn't scale to fit by default/allow zooming
#203: No custom app icon for Android 1.5
#215: Trial builds don't allow trial Android builds.
#212: Android lacks version # build setting, See Beta Guide for changes.
#204: strange green line appears at the bottom of the image
#189: Internal performance improvements.
#235: Android: play sound with loop = false loops anyway
#216: Boolean keys don't work in Info.plist (specified in build.settings). Fixed for all cases, but note that UIHiddenStatusBar now works correctly but is overridden by internal Corona settings. Use display.setStatusBar( display.hiddenStatusBar ) within main.lua to hide the status bar.
#86: Looping sound
#87: onComplete event
#88: volume
#149: callback for when sound ends
#188: Need native UI support for landscape.
#198: Beta 3 - removeEventListener not working
#201: removeEventListener behavior changed
#187: Simulator orientation type reports wrong orientation
#25: Set default orientation in simulator
#28: Need ability to turn off autoscale of large images
#106: Performance degradation with lots of transitions
#112: Images appear wrong size (related to #28)
#119: Images longer than iphone screen size (related to #28)
#125: Textbox doesn't inherit isVisible from group (documentation issue)
#133: UI module: label:setTextColor does nothing
#143: Screen scales incorrectly when dimensions of simulator skin exceed monitor size
#146: removeEventListener not working on a button after clicking
#156: Texture tearing and stuttering of rotations
#157: Build Settings for iPad for Image Orientation Wrong (documentation issue)
#161: Stage coordinates (documentation issue regarding stroke width rendering)
#170: Problems with showAlert on iPad