Learning Mobile App and Game Development with Solar2D

ISBN: eTextbook : 978-1-937336-19-6
Print (Amazon): 978-1-937336257
Copyright: 2024

Price: $19.97

Textbook for Mobile Application Development
Author: Brian G. Burton, Ed.D.
Foreword by Walter Luh
Pages: 381 (pdf)
Status: v1.0 (2/2024)

$19.97 

Master the art of cross-platform mobile app and game development with Solar2D! Our textbook offers a comprehensive guide for beginners, teaching you to develop mobile apps and games for Apple iOS and Android devices as well as Windows and Apple desktops. With a structured 18-week curriculum that fits perfectly into high school and college schedules, you can stand out from the crowd by learning to develop apps on one of the leading platforms for mobile development.

Learning Mobile Application & Game Development with Solar2D introduces mobile application programming concepts, equipping you with the skills to identify the needs and create the user interface for apps across multiple platforms. The book provides opportunities for students to collaborate on projects, conduct research in the mobile industry, exercise their critical thinking skills, learn about their responsibilities as digital citizens, and gain additional technology skills.

Solar2D uses the Lua scripting language, which is powerful and easy to learn. By the end of this course, you will be able to create versatile and user-friendly applications that run seamlessly on various operating systems. Embrace the future of mobile development with Solar2D and Lua!

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

Unsolicited Recommendation:
“I would recommend everyone starting with Lua and Solar2D to purchase Dr. Burton’s book. I got your first book @DocBurton when I started learning Corona SDK many years ago. I purchased so many books about Lua, and all the books I could find about Corona SDK, but I realized in the end that I didn’t need the other books. [Dr. Burton’s] book covered everything. I read it multiple times and highlighted so many parts that it looked like a coloring book in the end.”  – T. Knutsen, Norway

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

Table of Contents:

Chapter 1 Introduction to App Development
Learning Objectives
Introduction to Mobile Application Development
Mobile Operating Systems
Android
Apple iOS
Desktop
HTML5
Cross-Platform Development
Developing Mobile Applications
Software That You Will Need
Hardware
Test Devices
Android
iOS
Book Examples and Graphics
Editors
Our First Project: 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.0 Display Size
Functions
Variable Scope
Event Listeners
Project 2.1: Fun with Buttons
Throw in a Little Fancy
Keeping Track
How Solar 2D 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
Project 3.1: Alpha Fun
Orientation change
Project 3.2: A New Orientation
Summary
Programming Vocabulary
Questions
Assignments
Chapter 4 Working with Data
Learning Objectives
TextField and TextBox
The String API
The Math API
Project 4.0: What’s Your Age?
Summary
Programming Vocabulary
Questions
Assignments
Chapter 5 Working with Graphics
Learning Objectives
Vector Graphics
Project 5.0: Vector Shapes
Bitmap Graphics
Icons
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
Questions
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
Questions
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: Beatbox
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:
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 Going Native – Working with Widgets
Learning Objectives
Widgets
Making Your Widgets Look Good
widget.newButton
Project 11.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
Project 11.3 widget.newTableView Example
widget.newTabBar
Project 11.4 Widget Tab Bar Example
Removing Widgets
Summary
Assignments
Chapter 12 System Events & Tools
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
Learning Objectives
File I/O Storage Considerations
Reading Data
Implicit vs. Explicit Files
Implicit Read
Explicit Read
Writing Data
Implicit
Explicit
Project 13.0 Reading & Writing to a File
Project 13.1 Appending & Reading from a File
JSON
Project 13.2 File I/O with 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 a 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 Example
Web Services
Summary
Assignments
Chapter 16 Head in the Cloud
Learning Objectives
Cloud Computing
Game Services
Apple Game Center
Google Play Game Services
Summary
Questions:
Assignments:
Chapter 17 Advanced Graphics (and a game)
Learning Objectives
Graphics 2.0
Paint
Fills – Filters, Composite, and Generators
Fills
Filters
Project 17.0 Filtering with chromaKey
Composite Effects
Generators
Project 17.1 Marching Ants
Containers
Project 17.2 Containers
Liquid Fun
Project 17.3 Liquid Fun
A Matter of Perspective
Project 17.4 Side Scroller: Parallax Scrolling
Parallax
Jumping
Fini (maybe)!
Summary
Questions
Assignments
Chapter 18 Future and Beyond
Learning Objectives
You say Metrics, I say Analytics
The Future of Mobile App Development
Create a vision for the future of mobile app development
Tips and Resources for Further Learning and Exploration
Questions
Appendix A Publishing to Device
Publishing to an Apple iOS Device
Android OS Device Build
Android Kindle Fire (Amazon) Device Build
Mac OS Desktop Build
Windows Desktop Build