Muutke küpsiste eelistusi

Learn cocos2d Game Development with iOS 5 1st ed. [Pehme köide]

  • Formaat: Paperback / softback, 532 pages, kõrgus x laius: 235x191 mm, kaal: 994 g, XVI, 532 p., 1 Paperback / softback
  • Ilmumisaeg: 02-Nov-2011
  • Kirjastus: APress
  • ISBN-10: 1430238135
  • ISBN-13: 9781430238133
  • Pehme köide
  • Hind: 35,15 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 41,36 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 3-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 532 pages, kõrgus x laius: 235x191 mm, kaal: 994 g, XVI, 532 p., 1 Paperback / softback
  • Ilmumisaeg: 02-Nov-2011
  • Kirjastus: APress
  • ISBN-10: 1430238135
  • ISBN-13: 9781430238133
Create compelling 2D games with Learn cocos2d Game Development with iOS 5. This book shows you how to use the powerful cocos2d game engine to develop games for iPhone and iPad with tilemaps, virtual joypads, Game Center, and more.









It teaches you:







The process and best practices of mobile game development, including sprite batching, texture atlases, parallax scrolling, touch and accelerometer input.

How to enhance your games using the Box2D and Chipmunk physics engines and other cocos2d-related tools and libraries. How to add UIKit views to cocos2d and how to add cocos2d to UIKit apps. The ins and outs of the Kobold2D development environment for cocos2d and its preconfigured libraries, including cocos3d and Lua.



Best of all, Learn cocos2d Game Development with iOS 5 will have you making games right from the very start. It guides you step-by-step through the creation of sample games. These fun examples are modeled after popular App Store games and teach you key concepts of the cocos2d game engine and relevant tools like TexturePacker (texture atlas), PhysicsEditor (physics collision shapes), Particle Designer (particle effects), Glyph Designer (bitmap fonts), and others.









This book offers a rock-solid introduction to creating games made entirely with cocos2d and little or no iOS 5 SDK and OpenGL code. It also details alternative implementations, identifies the best free and commercial tools for cocos2d game development, features coverage of the author's improved cocos2d game engine (Kobold2D), and even helps you enhance your game's marketability on the App Store.
Contents at a Glance iv
About the Authors xiii
About the Technical Reviewer xiv
Acknowledgments xv
Preface xvi
Chapter 1 Introduction
1(14)
What's New in the Second Edition?
2(1)
Why Use cocos2d for iOS?
3(3)
It's Free
3(1)
It's Open Source
3(1)
It's Objective, See?
3(1)
It's 2D
4(1)
It's Got Physics
4(1)
It's Less Technical
4(1)
It's Still Programming
5(1)
It's Got a Great Community
5(1)
The Future of the cocos2d-iphone Project
6(1)
Other cocos2d Game Engines
7(1)
This Book Is for You
8(1)
Prerequisites
8(1)
Programming Experience
8(1)
Objective-C
8(1)
What You Will Learn
9(2)
What Beginning iOS Game Developers Will Learn
10(1)
What iOS App Developers Will Learn
10(1)
What Cocos2d Developers Will Learn
11(1)
What's in This Book
11(3)
Chapter 2 "Getting Started"
11(1)
Chapter 3 "Essentials"
11(1)
Chapter 4 "Your First Game"
11(1)
Chapter 5 "Game Building Blocks"
12(1)
Chapter 6 "Sprites In-Depth"
12(1)
Chapter 7 "Scrolling with Joy"
12(1)
Chapter 8 "Shoot `em Up"
12(1)
Chapter 9 "Particle Effects"
12(1)
Chapter 10 "Working with Tilemaps"
12(1)
Chapter 11 "Isometric Tilemaps"
12(1)
Chapter 12 "Physics Engines"
12(1)
Chapter 13 "Pinball Game"
13(1)
Chapter 14 "Game Center"
13(1)
Chapter 15 "Cocos2d with UIKit Views"
13(1)
Chapter 16 "Kobold2D Introduction"
13(1)
Chapter 17 "Conclusion"
13(1)
Where to Get the Book's Source Code?
13(1)
Questions and Feedback
14(1)
Chapter 2 Getting Started
15(26)
What You Need to Get Started
15(6)
System Requirements
15(1)
Register as an iOS Developer
16(1)
Certificates and Provisioning Profiles
16(1)
Download and Install the iOS SDK
17(1)
Download and Install cocos2d
17(4)
The HelloWorld Application
21(8)
Locating the HelloWorld Files
22(1)
Resources
23(1)
Supporting Files
23(1)
HelloWorld Classes
24(5)
Memory Management with cocos2d
29(3)
Changing the World
32(2)
What Else You Should Know
34(5)
The iOS Devices
34(2)
About Memory Usage
36(1)
The iOS Simulator
37(2)
About Logging
39(1)
Summary
39(2)
Chapter 3 Essentials
41(40)
The cocos2d Scene Graph
41(3)
The CCNode Class Hierarchy
44(2)
CCNode
46(5)
Working with Nodes
46(1)
Working with Actions
47(1)
Scheduled Messages
47(4)
Director, Scenes, and Layers
51(13)
The Director
51(2)
CCScene
53(1)
Scenes and Memory
54(1)
Pushing and Popping Scenes
55(2)
CCTransitionScene
57(2)
CCLayer
59(5)
CCSprite
64(2)
Anchor Points Demystified
65(1)
Texture Dimensions
65(1)
CCLabelTTF
66(1)
Menus
67(2)
Actions
69(9)
Interval Actions
70(6)
Instant Actions
76(2)
A Note on Singletons in cocos2d
78(2)
Cocos2d Test Cases
80(1)
Summary
80(1)
Chapter 4 Your First Game
81(34)
Step-by-Step Project Setup
82(5)
Adding the Player Sprite
87(4)
Accelerometer Input
91(1)
First Test Run
91(1)
Player Velocity
92(3)
Adding Obstacles
95(6)
Collision Detection
101(2)
Labels and Bitmap Fonts
103(4)
Adding the Score Label
103(1)
Introducing CCLabelBMFont
104(1)
Creating Bitmap Fonts with Glyph Designer
105(2)
Simply Playing Audio
107(2)
Porting to iPad
109(4)
One Universal App or Two Separate Apps?
109(1)
Porting to iPad with Xcode 3
110(1)
Porting to iPad with Xcode 4
111(2)
Summary
113(2)
Chapter 5 Game Building Blocks
115(26)
Working with Multiple Scenes
115(6)
Adding More Scenes
115(3)
Loading Next Paragraph, Please Stand By
118(3)
Working with Multiple Layers
121(7)
How to Best Implement Levels
126(2)
CCLayerColor
128(1)
Subclassing Game Objects from CCSprite
128(1)
Composing Game Objects Using CCSprite
129(5)
Curiously Cool CCNode Classes
134(6)
CCProgressTimer
134(1)
CCParallaxNode
135(3)
CCRibbon
138(1)
CCMotionStreak
139(1)
Summary
140(1)
Chapter 6 Sprites In-Depth
141(28)
Retina Display
142(2)
CCSpriteBatchNode
144(8)
When to Use CCSpriteBatchNode
145(1)
Demo Projects
146(6)
Sprite Animations the Hard Way
152(2)
Animation Helper Category
154(2)
Working with Texture Atlases
156(11)
What Is a Texture Atlas?
156(1)
Introducing TexturePacker
157(1)
Preparing the Project for TexturePacker
158(1)
Creating a Texture Atlas with TexturePacker
159(4)
Using the Texture Atlas with cocos2d
163(2)
Updating the CCAnimation Helper Category
165(1)
All into One and One for All
166(1)
Summary
167(2)
Chapter 7 Scrolling with Joy
169(26)
Advanced Parallax Scrolling
169(13)
Creating the Background As Stripes
169(3)
Re-creating the Background in Code
172(2)
Moving the ParallaxBackground
174(1)
Parallax Speed Factors
175(3)
Scrolling to Infinity and Beyond
178(2)
Fixing the Flicker
180(1)
Repeat, Repeat, Repeat
181(1)
A Virtual Joypad
182(11)
Introducing SneakyInput
183(1)
Integrating SneakyInput
184(1)
Touch Button to Shoot
185(2)
Skinning the Button
187(3)
Controlling the Action
190(3)
Digital Controls
193(1)
Summary
193(2)
Chapter 8 Shoot `em Up
195(22)
Adding the BulletCache Class
195(4)
What About Enemies?
199(2)
The Entity Class Hierarchy
201(10)
The EnemyEntity Class
201(4)
The EnemyCache Class
205(4)
The Component Classes
209(2)
Shooting Things
211(2)
A Healthbar for the Boss
213(2)
Summary
215(2)
Chapter 9 Particle Effects
217(26)
Example Particle Effects
217(4)
Creating a Particle Effect the Hard Way
221(13)
Subclassing CCParticleSystem: Point or Quad?
222(2)
CCParticleSystem Properties
224(10)
Particle Designer
234(6)
Introducing the Particle Designer
234(3)
Using Particle Designer Effects
237(2)
Sharing Particle Effects
239(1)
Shoot `em Up with Particle Effects
240(2)
Summary
242(1)
Chapter 10 Working with Tilemaps
243(26)
What Is a Tilemap?
243(4)
Preparing Images with TexturePacker
247(1)
Tiled (Qt) Map Editor
248(6)
Creating a New Tilemap
248(3)
Designing a Tilemap
251(3)
Using Orthogonal Tilemaps with Cocos2d
254(12)
Locating Touched Tiles
257(3)
An Exercise in Optimization and Readability
260(1)
Working with the Object Layer
260(2)
Drawing the Object Layer Rectangles
262(3)
Scrolling the Tilemap
265(1)
Summary
266(3)
Chapter 11 Isometric Tilemaps
269(28)
Designing Isometric Tile Graphics
270(3)
Isometric Tilemap Editing with Tiled
273(5)
Creating a New Isometric Tilemap
273(3)
Creating a New Isometric Tileset
276(1)
Laying Down Some Ground Rules
276(2)
Isometric Game Programming
278(17)
Loading the Isometric Tilemap in Cocos2d
278(1)
Setup Cocos2d for Isometric Tilemaps
279(2)
Locating an Isometric Tile
281(2)
Scrolling the Isometric Tilemap
283(1)
This World Deserves a Better End
284(3)
Adding a Movable Player Character
287(8)
Adding More Content to the Game
295(1)
Summary
295(2)
Chapter 12 Physics Engines
297(24)
Basic Concepts of Physics Engines
297(1)
Limitations of Physics Engines
298(1)
The Showdown: Box2D vs. Chipmunk
299(1)
Box2D
300(11)
The World According to Box2D
301(1)
Restricting Movement to the Screen
302(2)
Converting Points
304(1)
Adding Boxes to the Box2D World
305(1)
Connecting Sprites with Bodies
306(2)
Collision Detection
308(2)
Joint Venture
310(1)
Chipmunk
311(9)
Objectified Chipmunk
311(1)
Chipmunks in Space
312(1)
Boxing-In the Boxes
313(1)
Adding Ticky-Tacky Little Boxes
314(2)
Updating the Boxes' Sprites
316(1)
A Chipmunk Collision Course
317(2)
Joints for Chipmunks
319(1)
Summary
320(1)
Chapter 13 Pinball Game
321(44)
Shapes: Convex and Counterclockwise
322(1)
Working with PhysicsEditor
323(10)
Defining the Plunger Shape
325(3)
Defining the Table Shapes
328(3)
Defining the Flippers
331(1)
Defining the Bumper and Ball
332(1)
Save and Publish
333(1)
Programming the Pinball Game
333(30)
The BodyNode Class
333(5)
Creating the Pinball Table
338(5)
Box2D Debug Drawing
343(1)
Adding the Ball
344(3)
Forcing the Ball to Move
347(3)
Adding the Bumpers
350(1)
The Plunger
351(9)
The Flippers
360(3)
Summary
363(2)
Chapter 14 Game Center
365(36)
Enabling Game Center
365(8)
Creating Your App in iTunes Connect
366(1)
Setting Up Leaderboards and Achievements
367(1)
Creating a Cocos2d Xcode Project
367(1)
Configuring the Xcode Project
368(4)
Game Center Setup Summary
372(1)
Game Kit Programming
373(27)
The GameKitHelper Delegate
373(1)
Checking for Game Center Availability
374(1)
Authenticating the Local Player
375(3)
Block Objects
378(2)
Receiving the Local Player's Friend List
380(2)
Leaderboards
382(5)
Achievements
387(5)
Matchmaking
392(4)
Sending and Receiving Data
396(4)
Summary
400(1)
Chapter 15 Cocos2d with UIKit Views
401(38)
What Is Cocoa Touch?
401(1)
Using Cocoa Touch and cocos2d Together
402(3)
Why Mix Cocoa Touch with cocos2d?
402(1)
Limitations of Mixing Cocoa Touch with cocos2d
403(1)
How Is Cocoa Touch Different from cocos2d?
404(1)
Alert: Your First UIKit View in cocos2d
405(3)
Embedding UIKit Views in a cocos2d App
408(19)
Adding Views in Front of the cocos2d View
408(2)
Skinning the UITextField with a UIImage
410(2)
Adding Views Behind the cocos2d View
412(7)
Adding Views Designed with Interface Builder
419(3)
Orientation Course on Autorotation
422(5)
Embedding the cocos2d View in Cocoa Touch Apps
427(10)
Creating a View-Based Application Project with cocos2d
427(3)
Designing the User Interface of the Hybrid App
430(2)
Start Your cocos2d Engine
432(2)
Stop the cocos2d Engine and Restart It
434(2)
Changing Scenes
436(1)
Summary
437(2)
Chapter 16 KoboId2D Introduction
439(28)
Benefits of Using KoboId2D
440(2)
KoboId2D Is Ready to Use
440(1)
KoboId2D Is Free
440(1)
KoboId2D Is Easy to Upgrade
440(1)
KoboId2D Provides "Lib Service"
441(1)
KoboId2D Takes Cross-Platform to Heart
442(1)
The KoboId2D Workspace
442(2)
The Hello KoboId2D Template Project
444(11)
The Hello World Project Files
445(1)
How KoboId2D Launches an App
446(4)
The Hello KoboId2D Scene and Layer
450(4)
Running Hello World with iSimulate
454(1)
Doodle Drop for Mac with KKInput
455(2)
Entering the Third Dimension with cocos3d
457(8)
Changes to the AppDelegate Class
458(4)
The World According to cocos3d
462(2)
Adding cocos3d to an Existing KoboId2D Project
464(1)
Summary
465(2)
Chapter 17 Out of the Ordinary
467(210)
Additional Resources for Learning and Working
468(14)
Where to Find Help
468(2)
Source Code Projects to Benefit From
470(6)
Cocos2D Podcast
476(1)
Tools, Tools, Tools
477(1)
Cocos2d Reference Apps
478(4)
The Business of Making Games
482(12)
Working with Publishers
482(2)
Finding Freelancers
484(1)
Finding Free Art and Audio
484(1)
Finding the Tools of the Trade
485(1)
Marketing
485(4)
Engaging Players for More Revenue
489(5)
Summary
494(183)
Index 677
Steffen Itterheim is a professional games and tools developer. He has worked for Electronic Arts Phenomic for the past seven years. Be it scripting, programming, or foreign languages, he's done it all. He has extensive experience with game localization including non-western languages and locales, and he also knows the Lua scripting language inside and out. He learned English by watching too much American television. Steffen currently lives in Ingelheim, Germany.