![]()
Table of Contents
Box2D for Flash Games
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Hello Box2D World
Downloading and installing Box2D for Flash
Hello Box2D World
Defining the Box2D World
Running the simulation
Summary
2. Adding Bodies to the World
Your first simulation – a ball falling on the floor
Creating a circular shape
Creating a fixture
Using debug draw to test your simulation
Creating a box shape
Different body types – static, dynamic, and kinematic
Density, friction, and restitution
Creating a Totem Destroyer level
Creating compound bodies
Creating an oriented box shape
Creating any kind of convex polygons
Summary
3. Interacting with Bodies
Selecting and destroying bodies with a mouse click
Assigning custom attributes to bodies
Looping through bodies and getting their properties
Summary
4. Applying Forces to Bodies
Falling apples, revamped
Force, impulse, and linear velocity
Applying an impulse to get a linear velocity
Applying a force to get a linear velocity
Forces in a real game
Physics games aren't just a matter of physics
Placing the physics bird
Shooting the physics bird
Summary
5. Handling Collisions
Checking for collisions
Box2D built-in collision listener
Trace the beginning and the end of a collision
Detect when you are about to solve a collision and when you have solved it
Detecting when the idol falls on the floor in Totem Destroyer
Destroying bricks and killing pigs in Angry Birds
Summary
6. Joints and Motors
Picking and dragging bodies – mouse joints
Keeping bodies at a given distance – distance joints
Making bodies rotate around a point – revolute joints
When Angry Birds meets Crush the Castle
Controlling joints with motors
Controlling motors with keyboard
Don't let some bodies collide – filtering collisions
Putting it all together
Summary
7. Skinning the Game
Replacing debug draw with your own graphic assets
Summary
8. Bullets and Sensors
Experiencing tunneling
Preventing tunneling – setting bodies as bullets
Allow bodies to overlap while detecting contacts with sensors
Summary
Index
![]()
Copyright © 2012 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: November 2012
Production Reference: 1161112
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-84951-962-5
www.packtpub.com
![]()
Author
Emanuele Feronato
Reviewers
Joseph Hocking
Ali Raza
Acquisition Editor
Mary Jasmine Nadar
Commissioning Editors
Priyanka Shah
Shreerang Deshpande
Technical Editor
Manmeet Singh Vasir
Copy Editor
Laxmi Subramanian
Project Coordinator
Shraddha Bagadia
Proofreaders
Maria Gould
Cecere Mario
Indexer
Hemangini Bari
Graphics
Aditi Gajjar
Production Coordinator
Prachali Bhiwandkar
Cover Work
Prachali Bhiwandkar
![]()
Emanuele Feronato has been studying programming languages since the early 1980s, with a particular interest in game development. He taught online programming for the European Social Fund (ESF) and founded a web development company in Italy.
As a Game Developer, he has developed Flash games sponsored by the biggest game portals and his games have been played more than 70 million times, and he is now porting most of them on mobile platforms.
As a writer, he has worked as a Technical Reviewer for Packt Publishing and published the book Flash Game Development by Example, Packt Publishing.
His blog, www.emanueleferonato.com, is one of the most visited blogs about indie programming.
![]()
Joseph Hocking is an interactive media developer living in Chicago. He has spent many years developing Flash games for various companies and freelance clients, and currently works for Synapse Games developing games such as Tyrant and Skyshard Heroes. His development skills include programming web-based games in AS3/Flash, using JavaScript in web pages, writing Python for both client and server applications, and building iPhone games using Lua/Corona SDK.
In addition, Joe also teaches at schools such as the Game Development program at Columbia College. Besides graphics programming, he has a great deal of training and experience in digital arts, including 3D animation. A portfolio of his work can be viewed at www.newarteest.com.
Ali Raza has a master's degree in Computer Science, and more than 8 years of experience as a Designer and Developer. He is also an Adobe Certified Instructor (ACI) and a Microsoft Certified Trainer (MCT).
He is currently working with a UK-based social networking startup as a Senior Developer (Flash Platform), and as a Consultant with a US-based firm ProContent, LLC (team behind Advanced Flash Components). In the past, he has worked with different ...