Mobile App Development with Corona

Mobile App Development with Corona: Getting Started
By:
Brian G. Burton, Ed.D.
Foreword by:
Walter Luh, Creator of Corona SDK.
Pages: 363 386 v.1.8.4 (2/2020)

Formats: eBook price: $19.99 (ePub, mobi, pdf)
ISBN: 978-1-937336-00-4
Contact sales@BurtonsMediaGroup.com for volume purchases.

File Type :

Free updates for the life of the eBook!

Download a Sample Chapter

Download Code Samples & Resource Files

Corona SDK is has been renamed to Solar2D and is now open source!  Mobile App Development with Corona will help you learn Solar2D.

Description:
Corona SDK allows the mobile app and game developer to create for multiple platforms at the same time.  With the ability to develop for Apple iOS and Google Android, you can turn your idea into the next best selling app! Create apps in less time for multiple markets and mobile devices without tedious rewriting. Includes multiple app examples and how to make top-down and tower defense games!  Mobile App Development with Corona: Getting Started is designed to be used as a guide to learn mobile app and game development on your own.

NOTE: This book is also available on Amazon, Kobo, and Apple’s iBookstore.
Due to Amazon & Kobo pricing policy it was necessary to break this book into three parts.  Each part is available individually for $9.99 USD.

Updates:
Version 1.07- Corrected some formatting issues with ePub & mobi editions.

Version 1.5 – MAJOR UPDATE: Updates to: Pedagogy & clarity improved throughout the textbook; Update to Widgets chapter to Widgets 2.0; Updates due to API changes; Update to new Sprite API.  New Content: How to add Custom Fonts; New Chapter on System Events, GPS, Accelerometer, Compass, and other system tools; New example on working with JSON Files.

Version 1.6 – Updated to Graphics 2.0 (1/2014)
Version 1.61 – Minor update to ch. 5 & 17 for Graphics 2.0 (2/2014)
Version 1.7 – New chapter 18 on Graphics 2.0. Updates to Graphics 2.0 (7/2014)
Version 1.8 – Minor updates throughout the book. (1/2017)
Version 1.8.02 – Minor updates to structure and updating of external links.
Version 1.8.3 – Added additional tutorial on picker wheel widget
Version 1.8.4 – Minor update fixing broken link

Chapters:

Chapter 1: Hello World: Setup and Get Going!

What this book is not
Getting Started
Corona: Some background
Software: Corona
Software: Android
Examples and Graphics
Software: iOS
Development Hardware: Corona
Development Hardware: Test Devices
Android
iOS
Publishing Considerations
Android (Google)
iOS (Apple)
Programming in Corona: Lua
Programming in Corona: Editors
Configuring Corona
Macintosh
Windows
Programming in Corona: Hello World (V1.0)
Project 1.0: Hello World
Project Setup
Project 1.1: Hello World (v2.0)
Objects
Summary

Chapter 2:Buttons and Text

Know your Boundaries
Project 2: Button Fun
Functions
Project 2.1: Button Fun V2
Getting Fancy!
How Corona reads your main.lua file
Summary

Chapter 3: Animation, Alpha & Orientation

Project 3: Basic Animation
Now You See It, Now You Don’t
Project 3.1: Alpha Fun
Orientation change
Project 3.2: A New Orientation
Summary

Chapter 4:Fill in the Blanks

TextField
Project 4: Simple Calculator
Device Builds
Apple iOS
iOS Simulator Build
Apple iOS Device Build
Android OS Device Build
Summary

Chapter 5: All Things Graphic

Vector Graphics
Project 5: Vector Shapes.
Bitmap Graphics
Resolution
Scaling
Masking
Sprite Sheets
Project 5.1: Uniform Sprites
Project 5.3 Sprite Animation
Sprite Control Methods
Sprite Properties
Sprite Event Listeners
Other Uses of Image/Sprite Sheets
Summary

Chapter 6: User Interface

Resources
build.settings
config.lua
Dynamic Content Alignment
Dynamic Image Resolution
UI.Lua
Adding Sound
Sound File Types
Timing Is Everything
Streams and Sounds
Project 6.0: Beat-box
config.lua file
build.settings file
Custom Fonts
Project 6.1 Custom Fonts
Summary

Chapter 7: Application Views

Hiding the Status Bar
Groups
Project 7: Group Movement
Modules and Packages
Project 7.1: External Library
External Libraries
Project 7.2: Creating a Splash Screen
Summary

Chapter 8: Phun with Physics

Turn on Physics
Scaling
Bodies
Body Types
Density, Friction, and Bounce
Body Shapes
Body Properties
Body Methods
Project 8: Using Force
Gravity
Ground and Boundaries
Project 8.1: Playing with Gravity
Collision Detection
Sensors
Joints
Common Methods and Properties for Joints
Project 8.2: Wrecking Ball
Trouble Shooting Physics
Summary

Chapter 9: Creating a Game with Corona

Game Design
Dragging Objects
Collision Detection
Take Your Best Shot
Reducing Overhead
Game Loop
Summary

Chapter 10: Star Explorer Continued

Configuring the App for Multiple Device
Splash Screen
Improving Performance
Varying Difficulty
Increasing Game Speed
A Little Variety
Summary

Chapter 11: Media Makes the World Go Round

Working with Sound
Basic Audio Controls
Duration Audio Controls
Volume Controls
Audio Channels
Sound File Types (Revisited)
Where did I put that file?
Multimedia API
Recording Audio
Project 11: Simple Audio Recorder
Video Playback
Camera
Project 11.1 X-Ray Camera
Summary

Chapter 12: File Storage & SQLite
File IO Considerations
Reading Data
Implicit vs. Explicit File Manipulation
Implicit Read
Explicit Read
Writing Data
Implicit
Explicit
JSON
Project 12: JSON Read & Write
SQLite
LuaSQLite Commands
Project 12: Reading a SQLite Database
Project 12.1 Writing to a SQLite Database
Summary

Chapter 13: Waiting on Tables
Table vs. Table: Clearing up the Confusion
Tools for Tables
Project 13: Creating a Simple Table View
Project 13.1:  Table View From SQLite
Summary

Chapter 14: It’s Who you Know: Networking
Web Services
HTTP
Project 14: Picture Download – Via Network Library
Socket
Project 14a: Picture Download – Via Socket Library
Tracking Network Status
Uploading to a Webserver
3-Tier Architecture
Post Example 1: Uploading Form Data
Post Example 2: Uploading Files or Images
Connecting to Proprietary Networks
Facebook
Facebook Example
Advertising Networks
Game Services
Apple Game Center
Google Play Game Services
Pubnub
Project 14.1 Multi-User App
Summary

Chapter 15: Working with Widgets & Popups
Mock-ups and pre-design tools
Widgets
Making Your Widgets Look Good
widget.newButton
Project 15.0 widget.newButton Example
widget.newPickerWheel
Project 15.1 widget.newPickerWheel Example
Project 15.2 Loading a Picker Wheel from a SQLite Database
widget.newProgressView
widget.newSlider
Project 15.3 Widget Slider & Progress View Example
widget.newScrollView
widget.newSegmentedControl
widget.newSpinner
widget.newStepper
widget.newSwitch
widget.newTableView
Project 15.4 Widget.newTableView Example
widget.newTabBar
Project 15.5 Widget Tab Bar Example
Removing Widgets
Web Popups
Web Popup Example
Summary

Chapter 16: Rotten Apple – a Tower Defense Game

Rotten Apples – Inspiration and Resources
Adding Sprite Animations
I Need a Map!
Two Roads Diverged
Space, The Final Frontier
Rat Race.
On Your Mark
Reducing Collisions
Collision Worksheet
Take the Shot – Taking Care of Collisions
Are We There Yet? – adding the clubhouse
Adding Towers: Dragging Towers to the Screen
What’s the Score?
Let’s Get this Game Going!
Closures
Initialization
Loop-De-Loop!
Level and Wave Control
Noises Off!
Suspense is Killing Me!  – adding suspend/resume/save options
It’s a Splash – add splash screen
Summary

Chapter 17 System Events & Tools       

System Events
Accelerometer
Project 17.0 Accelerometer
Gyroscope
Project 17.1 Gyroscope
Alerts
GPS
Project 17.2 GPS
Maps
Map Object
Map Address
Map Location
Project 17.3 Maps
Summary

Chapter 18 Advanced Graphics 

Learning Objectives
Graphics 2.0
Paint
Fills – Filters, Composite, and Generators
Fills
Filters
Project 18.1 Filtering with chromaKey
Composite Effects
Generators
Project 18.2 Marching Ants
Containers
Project 18.3 Containers
Liquid Fun
Project 18.4 Liquid Fun
Summary

Chapter 19 Additional Resources         

BBEdit
CoronaSSK
Physics Editor
SpriteHelper & LevelHelper
Sublime Text 3
Texture Packer
Tiled
Useful Websites
Free Isometric images
Music
Sound effects
Tutorials

Appendix A: The Lua Language

Appendix B: Advanced Lua