Tutorial: Dynamically-Optimized Sprites

Today’s guest tutorial comes to you courtesy of Omid Ahourai, an indie game developer who goes by the alias “ArdentKid.” He’s been working with Corona SDK for over two years and will soon release his first highly-anticipated game, “Balloon Bazooka.” Please check out his work and blog at www.ardentkid.com.

Tutorial: Animated Sprites and Methods

Tuesday Tutorials are back! Today’s tutorial is from Brent Sorrentino, a Corona Ambassador based in northern Colorado. Brent has been an active part of the Corona community for almost two years. He is a freelance travel photographer, Corona developer, and graphic designer. In addition to using Corona to develop his own apps, he regularly lends a hand in the forums, helping other developers solve coding issues.

Corona Guidelines: iPhone 5 and iOS6 (Preliminary)

The iPhone 5 is looking like it will be the fastest-selling gadget of all time. So let’s talk about what you need to do to prepare your Corona apps for the iPhone 5 and iOS6.

One of the biggies we’ll cover is what you’ll need to do to make your Corona app handle the new 16:9 aspect ratio, or what we’re calling “tall apps” (as opposed to the shorter “traditional apps” designed for the iPhone 3 and iPhone 4).

Tutorial: External Modules in Corona

There’s often confusion as to what exactly happens when external modules are “required” into your code, which leads to further confusion and unexpected behavior when it comes to things such as Storyboard Scenes or even custom modules of your own.

Today I’m going to guide you through a series of exercises (with explanations) that should illustrate exactly how modules work in Lua, so you get a full understanding of when the code in your modules is executed, including what code is not run when you call the built-in require() function.

Storyboard Basic Usage

The Storyboard API, while very powerful and flexible, can admittedly seem very confusing to new users, and especially those who are coming from a 3rd party scene management library, such as the Director Class.

Today, I’m going to walk you through the most basic storyboard usage for those who want the Storyboard API to be as simple, and work similarly to, the Director Class. While packed full of useful advanced features, not all of these features have to be used (or even understood at first). This tutorial will show you how to get up and running with the Storyboard API as quickly and easily as possible.

Reacting to Low Memory Warnings

Whenever your app is taking too much memory, the OS will first issue what’s called a “low memory warning” to give you a chance to do something—such as free up memory—before your app is forced to quit. If your app is forced to quit, from your user’s perspective, your app will have crashed and quit (possibly causing a great deal of frustration).

In today’s tutorial, I’ll show you how to respond to these low memory warnings, and recommend things you might do to prevent crashes from occurring (and possibly even preventing low memory warnings altogether).

NOTE: Low memory warnings are currently unreliable on the Android platform, so this tutorial will focus mostly on iOS, though the preventative measures will apply to all platforms.

Managing State Between Scenes

While it’s fairly straight-forward to switch between scenes using the storyboard API, what’s not so obvious is how to manage persistent data even among scene changes.

The reason why this can be confusing is the fact that most storyboard scenes are represented by their own module (e.g. scene1.lua, scene2.lua), and it can be difficult to determine what the best way to share data across multiple files is, especially since scenes can be created and destroyed at any time.

In today’s tutorial, I’m going to show you a few ways that you can share data between scenes, and manage a singular overall “state” in your app despite the loading and unloading of multiple scenes—no matter how many you might be working with.

Storyboard: Scene Purging vs. Removal

One of the most confusing aspects of Corona’s storyboard API is the purging and/or removal of scenes. What’s the difference between purging and removing? What does it mean to “purge” a scene anyway? Those are just a few of the many questions we receive often.

Today, I’m going to attempt to clear up the confusion by first giving you a high-level overview of what’s going on behind-the-scenes when purging and removal goes on, and also show you a few examples along the way.

Tutorial: Using System Events to Save App State

Something that’s becoming increasingly popular is the ability to “pick up where you left off” or stop and resume with hardly any friction. More and more, apps are starting off exactly how you left them—and that doesn’t exclude mobile apps (in fact, mobile is arguably what inspired this behavior).

Having your apps start off where your user left them is also known as “state saving”, and that’s exactly what I’m going to cover in this tutorial. As with any tutorial that’s posted here, I encourage you to take what you learn and build upon or modify the code to suit the specific needs of your app.