Learning Mobile App & Game Dev with Corona

Learning Mobile Application and Game Development with Corona SDK

ISBN: 978-1-937336-07-3
Copyright: 2014, 2017, 2019

Textbook for Mobile Application Development
Author: Brian G. Burton, Ed.D.
Foreword by Walter Luh
Pages: 422 (pdf)
Status: v1.2.11 (4/2019)

$29.99 

File Type :

Corona SDK is now Solar2D.  Learning Mobile App & Game Development will help you to learn Solar2D!

Target Audience: High school/college students and others with little or no programming experience.
Format: PDF, ePub, mobi

Download a Sample Chapter

Download Code Samples and Resource Files

Free updates for the life of the eBook!
Schools and bookstores should contact sales@BurtonsMediaGroup.com for volume pricing or review copy requests.

Description:

Learning Mobile Application & Game Development with Corona SDK introduces programming concepts in an incremental, pedagogically friendly method. Additional topics include:  how to identify the needs and create the user interface for apps, provide opportunities for students to collaborate on the projects, conduct research in the mobile industry,  provide opportunities to exercise critical thinking skills, learn responsibilities as digital citizens, and gain additional technical skills.

This textbook is designed to teach programming skills and meet curriculum requirements as proposed by the Texas Education Agency 9/2012 update, section 126.39 (T.E.A. §126.39).  Of course, the textbook isn’t exclusively intended for just Texas high school students. The textbook is written in a way that will hopefully make the book accessible to anyone who would like to learn to create mobile applications but has limited or no previous programming experience.

Updates:
Version 1.02 – Minor update to ch. 5 & 12 for Graphics 2.0 (Feb. 2014)
Version 1.1 – Complete textbook. Includes update to chapter 6 (composer) (Jul. 2014).
Version 1.1.02 – Minor correction to programming examples in CH 2 & 8 (display size & Gravity). (9/2014)
Version 1.2 – Updates based upon changes to Corona SDK though-out the textbook. (9/2016)
Version 1.2.02 – Minor updates to structure for better epub & mobi compatibility. (5/2017)
Version 1.2.04 – Minor updates to structure and updates to external links.
Version 1.2.11 – New tutorial on using databases; re-paginated for easier use (4/2019).

Table of Contents:

Chapter 1: Introduction to Mobile App Development
Learning Objectives
Introduction to Mobile Application Development
First, an assumption
Mobile Operating Systems
Google Android
Apple iOS
Cross-Platform Development
One Last Note Before We Get Started
Developing Mobile Applications
Software That You Will Need
Setting Up Your Software
Setting up Your Hardware
Test Devices
Android
iOS

Book Examples and Graphics
Editors
Our First Project: Hello World
Project 1.0: Hello World
Project Setup
Debugging
Project 1.1: Hello World (v2.0)
Introducing Objects
Summary
Programming Vocabulary
Questions
Assignments

Chapter 2:   Introduction to Functions
Learning Objectives
Name that Object
Local vs. Global Variables
How to Code Comments
Device Boundaries
Project 2.1 Display Size
Functions
Event Listeners
Project 2.1: Fun with Buttons
Project 2.2: Fun with Buttons
Throw in a Little Fancy
How Corona reads the main.lua file
API Documentation
Summary
Programming Vocabulary
Questions
Assignments

Chapter 3: Animation and Orientation
Learning Objectives
Animation
Boolean Practice
How to Code Decision Statements
if-then
if-then-else
if-then-elseif
if-then-elseif-else
Nested if-then
Loops
for-next
while-do
repeat-until
Nested Loops
Infinite Loops
Math API
Project 3.0: Basic Animation
Alpha
Now You See It, Now You Don’t
Project 3.1: Alpha Fun
Orientation change
Project 3.2: A New Orientation
Summary
Programming Vocabulary
Questions
Assignments
Practice

Chapter 4: Working with Data
Learning Objectives
TextField and TextBox
The String API
The Math API
Project 4.0: What’s Your Age?
Publishing to Device
Publishing to an Apple iOS Device
iOS Simulator Build
Apple iOS Device Build
Android OS Device Build
Summary
Programming Vocabulary
Questions
Assignments

Chapter 5 Working with Graphics
Learning Objectives
Vector Graphics
Project 5: Vector Shapes
Bitmap Graphics
Icons
Android
Apple
Build.Settings and Config.lua
build.settings
config.lua
Dynamic Content Scaling
Dynamic Image Resolution
Scaling
Masking
Project 5.1: Masks
Sprite Sheets
Project 5.2: Sprites
Project 5.3 Sprite Animation
Sprite Control Methods
Sprite Properties
Sprite Event Listeners
Other Uses of Image/Sprite Sheets
Summary
Assignments

Chapter 6: Creating the User Experience
Learning Objectives
The User Experience
Hiding the Status Bar
Custom Fonts
Project 6.0 Custom Fonts
Groups
Project 6.1: Group Movement
Modules and Packages
Composer
Project 6.2 A Simple Story
Project 6.3: Creating a Splash Screen
Summary
Assignments

Chapter 7: Working with Media
Learning Objectives
Audio
Sound File Types
Timing Is Everything
Streams and Sounds
Basic Audio Controls
Duration Audio Controls
Volume Controls
Audio Channels
Project 7.0: Beat-box
config.lua file
build.settings file
Where did I put that file?
Movies
Camera
Project 7.1 X-Ray Camera
Recording Audio
Summary
Assignments

Chapter 8: A Little Phun with Physics
Learning Objectives
Turn on Physics
Scaling
Bodies
Body Types
Density, Friction, and Bounce
Body Shapes
Body Properties
Body Methods
Gravity
Ground and Boundaries
Project 8.0: Playing with Gravity
Collision Detection
Sensors
Joints
Pivot Joint
Distance Joint
Piston Joint
Friction Joint
Weld Joint
Wheel Joint
Pulley Joint
Touch Joint
Common Methods and Properties for Joints
Project 8.1 Sample Physics Projects
8.1A: Touch Joint
8.1B: Pulley Joint
Project 8.2: Wrecking Ball
Trouble Shooting Physics
Summary
Assignments

Chapter 9: Mobile Game Design
Learning Objectives
Timers
More on Touch/Multi-touch
setFocus
Project 9.0: enterFrame Animation
Game Development
Design Inspiration
Dragging Objects
Collision Detection
Take Your Best Shot
Reducing Overhead
Game Loop
Summary
Assignments

Chapter 10: Tables and Arrays
Learning Objectives
Tables vs. Tables vs. Arrays
Introducing Arrays
Table API
Concatenation
Copy
indexOf
insert
Remove
Sort
The flexibility of Lua Array Tables
The 4th dimension and beyond
Project 10.1 Multi-dimensional Array
Project 10.2 Conway’s Game of Life
Summary
Assignments

Chapter 11: Widgets
Learning Objectives
Widgets
Making Your Widgets Look Good
widget.newButton
Project 10.0 widget.newButton Example
widget.newPickerWheel
Project 11.1 widget.newPickerWheel Example
widget.newProgressView
widget.newSlider
Project 11.2 Widget Slider & Progress View Example
widget.newScrollView
widget.newSegmentedControl
widget.newSpinner
widget.newStepper
widget.newSwitch
widget.newTableView
widget.newTableView Example
widget.newTabBar
Project 11.4 Widget Tab Bar Example
Removing Widgets
Summary
Assignments

Chapter 12: Exception Handling and System Events

Learning Objectives
System Events

Accelerometer
Project 12.0 Accelerometer
Gyroscope
Project 12.1 Gyroscope
GPS
Project 12.2 GPS
Maps
Map Object
Project 12.3 Maps
Summary
Assignments

Chapter 13: File Input/Output

File IO Considerations
Reading Data
Implicit vs. Explicit File Manipulation
Implicit Read
Explicit Read
Writing Data
Implicit
Explicit
JSON
Summary
Assignments

Chapter 14: Working with Databases

Learning Objectives
Database Defined
Database Software
How a Database is Structured
How to Create a Database
Working with a Database
LuaSQLite Commands
Project 14.0: Reading an SQLite Database
Project 14.1 Writing to an SQLite Database
Summary
Assignments

Chapter 15 Network Communications

Learning Objectives
Network Status
Asynchronous Network Requests
HTTP
Project 15.0: Picture Download – Via Network Library
Socket
Project 15.1: Picture Download – Via Socket Library
Web Popup
Web Popup Example
Webviews
Web Services
Connecting to Proprietary Networks
Facebook
Facebook Example
Advertising Networks
Summary
Assignments

Chapter 16: Head in the Cloud

Learning Objectives
Cloud Computing
Game Services
Apple Game Center
Google Play Game Services
Pubnub
Project 16.0 Multi-User App
Corona Cloud
Summary
Questions
Assignments

Chapter 17 Web-based app development
Learning Objectives
Analytics
When to Build a Web-based App
Considerations in Web-based App Development
You say Metrics, I say Analytics
Project 17: Web-Hybrid App
Summar
Questions
Assignments

Chapter 18: A Graphics 2.0 (& a Game)
Learning Objectives
Graphics 2.0
Paint
Fills – Filters, Composite, and Generators
Project 18.1 Filtering and chromaKey
Project 18.2 Marching Ants
Containers
Project 18.3 Containers
Liquid Fun
Project 18.4 Liquid Fun
A Matter of Perspective
Parallax
Side-Scrolling Game
Summary
Questions
Assignments

Chapter 19 Native Application Development
Learning Objectives
Why Android?
Android Studio
Project 19.0: Native Android-Hello World
Summary
Questions
Assignments
Chapter 20 Next Steps and 3rd Party Resources
Where do we go from here?
3rd Party Resources
IDE/Editors
Lua Glider  IDE(Mac/Win) by M.Y. Developers
Outlaw
Sublime Text
TextWrangler
ZeroBane Debugger
Sample Code & Templates
Glitch Games
Gymbyl
LearningCorona
Outlaw Game Tools
Roaming Gamer
Graphics/Physics/Level Editors
Amino (formerly Spriteloq)
Lime
Physics Editor
Spine by Esoteric Software
SpriteHelper & LevelHelper
Texture Packer
Graphics
GIMP
Inkscape
Blender
Audio
Acid Music Studio
Bfxr
GarageBand
Ocenaudio
App Testing
HockeyKit
TestFlight
Mockup/Design Tools
BluePrint
iPhoneMockup
Mockflow

Appendix A: Installation of Corona SDK
Appendix B: Publishing to Apple
Appendix C: Publishing to Android
Appendix D: The Lua Language
Appendix E: Advanced Lua Language