diff --git a/.gitignore b/.gitignore
index 172b348..a81d757 100644
--- a/.gitignore
+++ b/.gitignore
@@ -144,3 +144,9 @@ tests/cpp-tests/Resources/audio
/external/ConvertUTF/
/external/audio/
/external/xxtea/
+/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Programmers Guide.xccheckout
+/_artwork/.DS_Store
+/_artwork/PNG/.DS_Store
+/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Chapter 2.xccheckout
+/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Programmers Guide.xccheckout
+/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/chapter2.xccheckout
diff --git a/README.md b/README.md
index b19a01f..7f31d95 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,9 @@
* `auto` is used for creating local variables.
* `using namespace cocos2d;` is used to shorten types.
* each chapter has a compilable source code sample to demonstrate concepts.
-
+* each chapter should subclass `Ref`
+* each chapter should do as much work in the constructor. no need for `::init()`
+* model the code design after chapter 2's example code. Follow these same conventions.
## How to compile the samples
diff --git a/_artwork/.DS_Store b/_artwork/.DS_Store
deleted file mode 100644
index 217dadf..0000000
Binary files a/_artwork/.DS_Store and /dev/null differ
diff --git a/_artwork/PNG/.DS_Store b/_artwork/PNG/.DS_Store
deleted file mode 100644
index 4623787..0000000
Binary files a/_artwork/PNG/.DS_Store and /dev/null differ
diff --git a/proj.ios_mac/Chapter 2 Mac copy-Info.plist b/proj.ios_mac/Mac-Info.plist
similarity index 90%
rename from proj.ios_mac/Chapter 2 Mac copy-Info.plist
rename to proj.ios_mac/Mac-Info.plist
index c660bd1..26a4afc 100644
--- a/proj.ios_mac/Chapter 2 Mac copy-Info.plist
+++ b/proj.ios_mac/Mac-Info.plist
@@ -9,7 +9,7 @@
CFBundleIconFile
Icon
CFBundleIdentifier
- org.cocos2dx.chapter2
+ org.cocos2dx.${PRODUCT_NAME}
CFBundleInfoDictionaryVersion
6.0
CFBundleName
@@ -27,7 +27,7 @@
LSMinimumSystemVersion
${MACOSX_DEPLOYMENT_TARGET}
NSHumanReadableCopyright
- Copyright © 2013. All rights reserved.
+ Copyright © 2014. All rights reserved.
NSMainNibFile
MainMenu
NSPrincipalClass
diff --git a/proj.ios_mac/Programmers Guide.xcodeproj/project.pbxproj b/proj.ios_mac/Programmers Guide.xcodeproj/project.pbxproj
index 1bd94b5..0dade61 100644
--- a/proj.ios_mac/Programmers Guide.xcodeproj/project.pbxproj
+++ b/proj.ios_mac/Programmers Guide.xcodeproj/project.pbxproj
@@ -10,6 +10,131 @@
1D60589F0D05DD5A006BFB54 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
1DF5F4E00D08C38300B7A737 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
288765A50DF7441C002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ 296358BC19F78D4F003732AB /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77617EB970100C73F5D /* Icon-120.png */; };
+ 296358BE19F78D4F003732AB /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
+ 296358BF19F78D4F003732AB /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77417EB970100C73F5D /* Default@2x.png */; };
+ 296358C019F78D4F003732AB /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; };
+ 296358C319F78D4F003732AB /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77817EB970100C73F5D /* Icon-152.png */; };
+ 296358C519F78D4F003732AB /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77217EB970100C73F5D /* Default-568h@2x.png */; };
+ 296358C619F78D4F003732AB /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77A17EB970100C73F5D /* Icon-72.png */; };
+ 296358CB19F78D4F003732AB /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; };
+ 296358CC19F78D4F003732AB /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 296358CD19F78D4F003732AB /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77517EB970100C73F5D /* Icon-114.png */; };
+ 296358CE19F78D4F003732AB /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; };
+ 296358CF19F78D4F003732AB /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629217ECD46A001EB2F8 /* Icon-40.png */; };
+ 296358D019F78D4F003732AB /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77717EB970100C73F5D /* Icon-144.png */; };
+ 296358D119F78D4F003732AB /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629417ECD46A001EB2F8 /* Icon-80.png */; };
+ 296358D519F78D4F003732AB /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77917EB970100C73F5D /* Icon-57.png */; };
+ 296358D919F78D4F003732AB /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77317EB970100C73F5D /* Default.png */; };
+ 296358DA19F78D4F003732AB /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629317ECD46A001EB2F8 /* Icon-58.png */; };
+ 296358DE19F78D4F003732AB /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; };
+ 296358E019F78D4F003732AB /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FF17EB989F00D1A890 /* RootViewController.mm */; };
+ 296358E119F78D4F003732AB /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; };
+ 296358E319F78D4F003732AB /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599319D492B60070A133 /* libcocos2d iOS.a */; };
+ 296358E419F78D4F003732AB /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6B0611A1803AB670077942B /* CoreMotion.framework */; };
+ 296358E519F78D4F003732AB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 296358E619F78D4F003732AB /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+ 296358E719F78D4F003732AB /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ 296358E819F78D4F003732AB /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; };
+ 296358E919F78D4F003732AB /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 296358EA19F78D4F003732AB /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 296358EB19F78D4F003732AB /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 296358EC19F78D4F003732AB /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 296358ED19F78D4F003732AB /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 296358F819F78D81003732AB /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 296358F419F78D81003732AB /* AppDelegate.cpp */; };
+ 296358F919F78D81003732AB /* Chapter6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 296358F619F78D81003732AB /* Chapter6.cpp */; };
+ 2963590A19F78ED4003732AB /* arial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 296358FE19F78ED4003732AB /* arial.ttf */; };
+ 2963590B19F78ED4003732AB /* bitmapFontTest.fnt in Resources */ = {isa = PBXBuildFile; fileRef = 296358FF19F78ED4003732AB /* bitmapFontTest.fnt */; };
+ 2963590C19F78ED4003732AB /* bitmapFontTest.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590019F78ED4003732AB /* bitmapFontTest.png */; };
+ 2963590D19F78ED4003732AB /* labelatlasimg.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590119F78ED4003732AB /* labelatlasimg.png */; };
+ 2963590E19F78ED4003732AB /* leftNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590219F78ED4003732AB /* leftNormal.png */; };
+ 2963590F19F78ED4003732AB /* leftSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590319F78ED4003732AB /* leftSelected.png */; };
+ 2963591019F78ED4003732AB /* menuItemSpriteNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590419F78ED4003732AB /* menuItemSpriteNormal.png */; };
+ 2963591119F78ED4003732AB /* menuItemSpriteSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590519F78ED4003732AB /* menuItemSpriteSelected.png */; };
+ 2963591219F78ED4003732AB /* restartNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590619F78ED4003732AB /* restartNormal.png */; };
+ 2963591319F78ED4003732AB /* restartSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590719F78ED4003732AB /* restartSelected.png */; };
+ 2963591419F78ED4003732AB /* rightNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590819F78ED4003732AB /* rightNormal.png */; };
+ 2963591519F78ED4003732AB /* rightSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590919F78ED4003732AB /* rightSelected.png */; };
+ 2963592B19F78F74003732AB /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; };
+ 2963593219F78F74003732AB /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 503AE10317EB98FF00D1A890 /* main.cpp */; };
+ 2963593419F78F74003732AB /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599119D492B60070A133 /* libcocos2d Mac.a */; };
+ 2963593519F78F74003732AB /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11117EB99EE00D1A890 /* libcurl.dylib */; };
+ 2963593619F78F74003732AB /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 2963593719F78F74003732AB /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11A17EB9C5A00D1A890 /* IOKit.framework */; };
+ 2963593819F78F74003732AB /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78A17EB975400C73F5D /* OpenGL.framework */; };
+ 2963593919F78F74003732AB /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78817EB974C00C73F5D /* AppKit.framework */; };
+ 2963593A19F78F74003732AB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 2963593B19F78F74003732AB /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 2963593C19F78F74003732AB /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 2963593D19F78F74003732AB /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 2963593E19F78F74003732AB /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 2963594419F78F9D003732AB /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 296358F419F78D81003732AB /* AppDelegate.cpp */; };
+ 2963594519F78F9D003732AB /* AppDelegate.h in Sources */ = {isa = PBXBuildFile; fileRef = 296358F519F78D81003732AB /* AppDelegate.h */; };
+ 2963594619F78F9D003732AB /* Chapter6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 296358F619F78D81003732AB /* Chapter6.cpp */; };
+ 2963594719F78F9D003732AB /* Chapter6.h in Sources */ = {isa = PBXBuildFile; fileRef = 296358F719F78D81003732AB /* Chapter6.h */; };
+ 2963594819F78FC4003732AB /* arial.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 296358FE19F78ED4003732AB /* arial.ttf */; };
+ 2963594919F78FC4003732AB /* bitmapFontTest.fnt in Resources */ = {isa = PBXBuildFile; fileRef = 296358FF19F78ED4003732AB /* bitmapFontTest.fnt */; };
+ 2963594A19F78FC4003732AB /* bitmapFontTest.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590019F78ED4003732AB /* bitmapFontTest.png */; };
+ 2963594B19F78FC4003732AB /* labelatlasimg.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590119F78ED4003732AB /* labelatlasimg.png */; };
+ 2963594C19F78FC4003732AB /* leftNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590219F78ED4003732AB /* leftNormal.png */; };
+ 2963594D19F78FC4003732AB /* leftSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590319F78ED4003732AB /* leftSelected.png */; };
+ 2963594E19F78FC4003732AB /* menuItemSpriteNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590419F78ED4003732AB /* menuItemSpriteNormal.png */; };
+ 2963594F19F78FC4003732AB /* menuItemSpriteSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590519F78ED4003732AB /* menuItemSpriteSelected.png */; };
+ 2963595019F78FC4003732AB /* restartNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590619F78ED4003732AB /* restartNormal.png */; };
+ 2963595119F78FC4003732AB /* restartSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590719F78ED4003732AB /* restartSelected.png */; };
+ 2963595219F78FC4003732AB /* rightNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590819F78ED4003732AB /* rightNormal.png */; };
+ 2963595319F78FC4003732AB /* rightSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 2963590919F78ED4003732AB /* rightSelected.png */; };
+ 3EE7F8C019ED607500448914 /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77617EB970100C73F5D /* Icon-120.png */; };
+ 3EE7F8C219ED607500448914 /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
+ 3EE7F8C319ED607500448914 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77417EB970100C73F5D /* Default@2x.png */; };
+ 3EE7F8C419ED607500448914 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; };
+ 3EE7F8C519ED607500448914 /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77817EB970100C73F5D /* Icon-152.png */; };
+ 3EE7F8C619ED607500448914 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77217EB970100C73F5D /* Default-568h@2x.png */; };
+ 3EE7F8C719ED607500448914 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77A17EB970100C73F5D /* Icon-72.png */; };
+ 3EE7F8C919ED607500448914 /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; };
+ 3EE7F8CA19ED607500448914 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77517EB970100C73F5D /* Icon-114.png */; };
+ 3EE7F8CB19ED607500448914 /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; };
+ 3EE7F8CC19ED607500448914 /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629217ECD46A001EB2F8 /* Icon-40.png */; };
+ 3EE7F8CD19ED607500448914 /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77717EB970100C73F5D /* Icon-144.png */; };
+ 3EE7F8CE19ED607500448914 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 3EE7F8CF19ED607500448914 /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629417ECD46A001EB2F8 /* Icon-80.png */; };
+ 3EE7F8D219ED607500448914 /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77917EB970100C73F5D /* Icon-57.png */; };
+ 3EE7F8D419ED607500448914 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77317EB970100C73F5D /* Default.png */; };
+ 3EE7F8D519ED607500448914 /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629317ECD46A001EB2F8 /* Icon-58.png */; };
+ 3EE7F8D919ED607500448914 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; };
+ 3EE7F8DB19ED607500448914 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FF17EB989F00D1A890 /* RootViewController.mm */; };
+ 3EE7F8DC19ED607500448914 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; };
+ 3EE7F8DE19ED607500448914 /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599319D492B60070A133 /* libcocos2d iOS.a */; };
+ 3EE7F8DF19ED607500448914 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6B0611A1803AB670077942B /* CoreMotion.framework */; };
+ 3EE7F8E019ED607500448914 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 3EE7F8E119ED607500448914 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+ 3EE7F8E219ED607500448914 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ 3EE7F8E319ED607500448914 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; };
+ 3EE7F8E419ED607500448914 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 3EE7F8E519ED607500448914 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 3EE7F8E619ED607500448914 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 3EE7F8E719ED607500448914 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 3EE7F8E819ED607500448914 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 3EE7F8F219ED607800448914 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 3EE7F8F819ED607800448914 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; };
+ 3EE7F8FC19ED607800448914 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 503AE10317EB98FF00D1A890 /* main.cpp */; };
+ 3EE7F8FF19ED607800448914 /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599119D492B60070A133 /* libcocos2d Mac.a */; };
+ 3EE7F90019ED607800448914 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11117EB99EE00D1A890 /* libcurl.dylib */; };
+ 3EE7F90119ED607800448914 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 3EE7F90219ED607800448914 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11A17EB9C5A00D1A890 /* IOKit.framework */; };
+ 3EE7F90319ED607800448914 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78A17EB975400C73F5D /* OpenGL.framework */; };
+ 3EE7F90419ED607800448914 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78817EB974C00C73F5D /* AppKit.framework */; };
+ 3EE7F90519ED607800448914 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 3EE7F90619ED607800448914 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 3EE7F90719ED607800448914 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 3EE7F90819ED607800448914 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 3EE7F90919ED607800448914 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 3EE7F91419ED60DF00448914 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EE7F91019ED60DF00448914 /* AppDelegate.cpp */; };
+ 3EE7F91519ED60DF00448914 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EE7F91019ED60DF00448914 /* AppDelegate.cpp */; };
+ 3EE7F91619ED60DF00448914 /* Chapter12.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EE7F91219ED60DF00448914 /* Chapter12.cpp */; };
+ 3EE7F91719ED60DF00448914 /* Chapter12.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3EE7F91219ED60DF00448914 /* Chapter12.cpp */; };
+ 3EE7F91919ED60F200448914 /* chapter12 in Resources */ = {isa = PBXBuildFile; fileRef = 3EE7F91819ED60F200448914 /* chapter12 */; };
+ 3EE7F91A19ED60F200448914 /* chapter12 in Resources */ = {isa = PBXBuildFile; fileRef = 3EE7F91819ED60F200448914 /* chapter12 */; };
503AE0F817EB97AB00D1A890 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; };
503AE10017EB989F00D1A890 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; };
503AE10117EB989F00D1A890 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; };
@@ -35,14 +160,16 @@
5087E78617EB970100C73F5D /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
5087E78917EB974C00C73F5D /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78817EB974C00C73F5D /* AppKit.framework */; };
5087E78B17EB975400C73F5D /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78A17EB975400C73F5D /* OpenGL.framework */; };
+ 50A5DBBF19EC441300082E51 /* sprites.plist in Resources */ = {isa = PBXBuildFile; fileRef = 50A5DBBD19EC441300082E51 /* sprites.plist */; };
+ 50A5DBC019EC441300082E51 /* sprites.plist in Resources */ = {isa = PBXBuildFile; fileRef = 50A5DBBD19EC441300082E51 /* sprites.plist */; };
+ 50A5DBC119EC441300082E51 /* sprites.pvr.ccz in Resources */ = {isa = PBXBuildFile; fileRef = 50A5DBBE19EC441300082E51 /* sprites.pvr.ccz */; };
+ 50A5DBC219EC441300082E51 /* sprites.pvr.ccz in Resources */ = {isa = PBXBuildFile; fileRef = 50A5DBBE19EC441300082E51 /* sprites.pvr.ccz */; };
50BA599E19D493310070A133 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50BA599A19D493310070A133 /* AppDelegate.cpp */; };
50BA599F19D493310070A133 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50BA599A19D493310070A133 /* AppDelegate.cpp */; };
50BA59A019D493310070A133 /* Chapter2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50BA599C19D493310070A133 /* Chapter2.cpp */; };
50BA59A119D493310070A133 /* Chapter2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50BA599C19D493310070A133 /* Chapter2.cpp */; };
50BA59A219D498180070A133 /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599119D492B60070A133 /* libcocos2d Mac.a */; };
50BA59A319D4981C0070A133 /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599319D492B60070A133 /* libcocos2d iOS.a */; };
- 50BA59AE19D498F00070A133 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 50BA59A819D498F00070A133 /* Marker Felt.ttf */; };
- 50BA59AF19D498F00070A133 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 50BA59A819D498F00070A133 /* Marker Felt.ttf */; };
50BA59B619D4992C0070A133 /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77617EB970100C73F5D /* Icon-120.png */; };
50BA59B719D4992C0070A133 /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
50BA59B819D4992C0070A133 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77417EB970100C73F5D /* Default@2x.png */; };
@@ -86,80 +213,24 @@
50BA59F719D499360070A133 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
50BA59F819D499360070A133 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
50BA59F919D499360070A133 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
- 50BA5A0419D49A2F0070A133 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50BA5A0019D49A2F0070A133 /* AppDelegate.cpp */; };
- 50BA5A0519D49A2F0070A133 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50BA5A0019D49A2F0070A133 /* AppDelegate.cpp */; };
- 50BA5A0619D49A2F0070A133 /* Chapter10.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50BA5A0219D49A2F0070A133 /* Chapter10.cpp */; };
- 50BA5A0719D49A2F0070A133 /* Chapter10.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 50BA5A0219D49A2F0070A133 /* Chapter10.cpp */; };
- 50BA5A0E19D49A3F0070A133 /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 50BA5A0919D49A3F0070A133 /* CloseNormal.png */; };
- 50BA5A0F19D49A3F0070A133 /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 50BA5A0919D49A3F0070A133 /* CloseNormal.png */; };
- 50BA5A1019D49A3F0070A133 /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 50BA5A0A19D49A3F0070A133 /* CloseSelected.png */; };
- 50BA5A1119D49A3F0070A133 /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 50BA5A0A19D49A3F0070A133 /* CloseSelected.png */; };
- 50BA5A1219D49A3F0070A133 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 50BA5A0C19D49A3F0070A133 /* Marker Felt.ttf */; };
- 50BA5A1319D49A3F0070A133 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 50BA5A0C19D49A3F0070A133 /* Marker Felt.ttf */; };
- 50BA5A1419D49A3F0070A133 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 50BA5A0D19D49A3F0070A133 /* HelloWorld.png */; };
- 50BA5A1519D49A3F0070A133 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 50BA5A0D19D49A3F0070A133 /* HelloWorld.png */; };
50EF629617ECD46A001EB2F8 /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629217ECD46A001EB2F8 /* Icon-40.png */; };
50EF629717ECD46A001EB2F8 /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629317ECD46A001EB2F8 /* Icon-58.png */; };
50EF629817ECD46A001EB2F8 /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629417ECD46A001EB2F8 /* Icon-80.png */; };
50EF629917ECD46A001EB2F8 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; };
50EF62A217ECD613001EB2F8 /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; };
50EF62A317ECD613001EB2F8 /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; };
- 5E453F5E19E5178500AB3A5D /* Chapter10_1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E453F5C19E5178500AB3A5D /* Chapter10_1.cpp */; };
- 5E453F5F19E5178500AB3A5D /* Chapter10_1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E453F5C19E5178500AB3A5D /* Chapter10_1.cpp */; };
- 5E453F6419E5359600AB3A5D /* boss.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F6219E5359600AB3A5D /* boss.c3b */; };
- 5E453F6519E5359600AB3A5D /* boss.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F6219E5359600AB3A5D /* boss.c3b */; };
- 5E453F6619E5359600AB3A5D /* boss.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F6319E5359600AB3A5D /* boss.png */; };
- 5E453F6719E5359600AB3A5D /* boss.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F6319E5359600AB3A5D /* boss.png */; };
- 5E453F6C19E5423D00AB3A5D /* Chapter10_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E453F6A19E5423D00AB3A5D /* Chapter10_2.cpp */; };
- 5E453F6D19E5423D00AB3A5D /* Chapter10_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E453F6A19E5423D00AB3A5D /* Chapter10_2.cpp */; };
- 5E453F7019E5452600AB3A5D /* monguger.tga in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F6E19E5452600AB3A5D /* monguger.tga */; };
- 5E453F7119E5452600AB3A5D /* monguger.tga in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F6E19E5452600AB3A5D /* monguger.tga */; };
- 5E453F7219E5452600AB3A5D /* orc.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F6F19E5452600AB3A5D /* orc.c3b */; };
- 5E453F7319E5452600AB3A5D /* orc.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F6F19E5452600AB3A5D /* orc.c3b */; };
- 5E453F7619E62AD000AB3A5D /* Chapter10_3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E453F7419E62AD000AB3A5D /* Chapter10_3.cpp */; };
- 5E453F7719E62AD000AB3A5D /* Chapter10_3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E453F7419E62AD000AB3A5D /* Chapter10_3.cpp */; };
- 5E453F7A19E62CAA00AB3A5D /* arx.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F7819E62CAA00AB3A5D /* arx.png */; };
- 5E453F7B19E62CAA00AB3A5D /* arx.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F7819E62CAA00AB3A5D /* arx.png */; };
- 5E453F7C19E62CAA00AB3A5D /* axe.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F7919E62CAA00AB3A5D /* axe.c3b */; };
- 5E453F7D19E62CAA00AB3A5D /* axe.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F7919E62CAA00AB3A5D /* axe.c3b */; };
- 5E453F8A19E62EB700AB3A5D /* Girl_Face.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F7E19E62EB700AB3A5D /* Girl_Face.png */; };
- 5E453F8B19E62EB700AB3A5D /* Girl_Face.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F7E19E62EB700AB3A5D /* Girl_Face.png */; };
- 5E453F8C19E62EB700AB3A5D /* Girl_Glasses01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F7F19E62EB700AB3A5D /* Girl_Glasses01.png */; };
- 5E453F8D19E62EB700AB3A5D /* Girl_Glasses01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F7F19E62EB700AB3A5D /* Girl_Glasses01.png */; };
- 5E453F8E19E62EB700AB3A5D /* Girl_Hair01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8019E62EB700AB3A5D /* Girl_Hair01.png */; };
- 5E453F8F19E62EB700AB3A5D /* Girl_Hair01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8019E62EB700AB3A5D /* Girl_Hair01.png */; };
- 5E453F9019E62EB700AB3A5D /* Girl_Hair02.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8119E62EB700AB3A5D /* Girl_Hair02.png */; };
- 5E453F9119E62EB700AB3A5D /* Girl_Hair02.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8119E62EB700AB3A5D /* Girl_Hair02.png */; };
- 5E453F9219E62EB700AB3A5D /* Girl_Hand.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8219E62EB700AB3A5D /* Girl_Hand.png */; };
- 5E453F9319E62EB700AB3A5D /* Girl_Hand.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8219E62EB700AB3A5D /* Girl_Hand.png */; };
- 5E453F9419E62EB700AB3A5D /* Girl_LowerBody01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8319E62EB700AB3A5D /* Girl_LowerBody01.png */; };
- 5E453F9519E62EB700AB3A5D /* Girl_LowerBody01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8319E62EB700AB3A5D /* Girl_LowerBody01.png */; };
- 5E453F9619E62EB700AB3A5D /* Girl_LowerBody02.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8419E62EB700AB3A5D /* Girl_LowerBody02.png */; };
- 5E453F9719E62EB700AB3A5D /* Girl_LowerBody02.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8419E62EB700AB3A5D /* Girl_LowerBody02.png */; };
- 5E453F9819E62EB700AB3A5D /* Girl_Shoes01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8519E62EB700AB3A5D /* Girl_Shoes01.png */; };
- 5E453F9919E62EB700AB3A5D /* Girl_Shoes01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8519E62EB700AB3A5D /* Girl_Shoes01.png */; };
- 5E453F9A19E62EB700AB3A5D /* Girl_Shoes02.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8619E62EB700AB3A5D /* Girl_Shoes02.png */; };
- 5E453F9B19E62EB700AB3A5D /* Girl_Shoes02.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8619E62EB700AB3A5D /* Girl_Shoes02.png */; };
- 5E453F9C19E62EB700AB3A5D /* Girl_UpperBody01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8719E62EB700AB3A5D /* Girl_UpperBody01.png */; };
- 5E453F9D19E62EB700AB3A5D /* Girl_UpperBody01.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8719E62EB700AB3A5D /* Girl_UpperBody01.png */; };
- 5E453F9E19E62EB700AB3A5D /* Girl_UpperBody02.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8819E62EB700AB3A5D /* Girl_UpperBody02.png */; };
- 5E453F9F19E62EB700AB3A5D /* Girl_UpperBody02.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8819E62EB700AB3A5D /* Girl_UpperBody02.png */; };
- 5E453FA019E62EB700AB3A5D /* ReskinGirl.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8919E62EB700AB3A5D /* ReskinGirl.c3b */; };
- 5E453FA119E62EB700AB3A5D /* ReskinGirl.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E453F8919E62EB700AB3A5D /* ReskinGirl.c3b */; };
- 5E453FA419E6309600AB3A5D /* Chapter10_4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E453FA219E6309600AB3A5D /* Chapter10_4.cpp */; };
- 5E453FA519E6309600AB3A5D /* Chapter10_4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E453FA219E6309600AB3A5D /* Chapter10_4.cpp */; };
- 5E5874DD19E8DCB0009744B7 /* Chapter10_7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E5874DB19E8DCB0009744B7 /* Chapter10_7.cpp */; };
- 5E5874DE19E8DCB0009744B7 /* Chapter10_7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E5874DB19E8DCB0009744B7 /* Chapter10_7.cpp */; };
- 5EAA122519E790B700B5D2BA /* Chapter10_5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EAA122319E790B700B5D2BA /* Chapter10_5.cpp */; };
- 5EAA122619E790B700B5D2BA /* Chapter10_5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EAA122319E790B700B5D2BA /* Chapter10_5.cpp */; };
- 5EAA122919E7D1E400B5D2BA /* DrawNode3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EAA122719E7D1E400B5D2BA /* DrawNode3D.cpp */; };
- 5EAA122A19E7D1E400B5D2BA /* DrawNode3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EAA122719E7D1E400B5D2BA /* DrawNode3D.cpp */; };
- 5EAA122D19E7E69600B5D2BA /* Chapter10_6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EAA122B19E7E69600B5D2BA /* Chapter10_6.cpp */; };
- 5EAA122E19E7E69600B5D2BA /* Chapter10_6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5EAA122B19E7E69600B5D2BA /* Chapter10_6.cpp */; };
+ 5E38D2C619F0F3DD0099B433 /* Chapter9_9.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E38D2C419F0F3DD0099B433 /* Chapter9_9.cpp */; };
+ 5E38D2C719F0F3DD0099B433 /* Chapter9_9.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 5E38D2C419F0F3DD0099B433 /* Chapter9_9.cpp */; };
+ 5E38D2CA19F0F3FF0099B433 /* sphere.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E38D2C819F0F3FF0099B433 /* sphere.c3b */; };
+ 5E38D2CB19F0F3FF0099B433 /* sphere.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 5E38D2C819F0F3FF0099B433 /* sphere.c3b */; };
+ 5E38D2CC19F0F3FF0099B433 /* spheretex.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E38D2C919F0F3FF0099B433 /* spheretex.png */; };
+ 5E38D2CD19F0F3FF0099B433 /* spheretex.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E38D2C919F0F3FF0099B433 /* spheretex.png */; };
+ 5E4C83EB1A3EC4DA00F65FA9 /* plane.obj in Resources */ = {isa = PBXBuildFile; fileRef = 5E4C83EA1A3EC4DA00F65FA9 /* plane.obj */; };
+ 5E4C83EC1A3EC4DA00F65FA9 /* plane.obj in Resources */ = {isa = PBXBuildFile; fileRef = 5E4C83EA1A3EC4DA00F65FA9 /* plane.obj */; };
+ 5E4C83EE1A3EC4F900F65FA9 /* planetex.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E4C83ED1A3EC4F900F65FA9 /* planetex.png */; };
+ 5E4C83EF1A3EC4F900F65FA9 /* planetex.png in Resources */ = {isa = PBXBuildFile; fileRef = 5E4C83ED1A3EC4F900F65FA9 /* planetex.png */; };
7E1526B419D4DE890013F222 /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526AE19D4DE890013F222 /* Blue_Front1.png */; };
7E1526B519D4DE890013F222 /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526AE19D4DE890013F222 /* Blue_Front1.png */; };
- 7E1526B619D4DE890013F222 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526AF19D4DE890013F222 /* HelloWorld.png */; };
- 7E1526B719D4DE890013F222 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526AF19D4DE890013F222 /* HelloWorld.png */; };
7E1526B819D4DE890013F222 /* LightBlue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B019D4DE890013F222 /* LightBlue_Front1.png */; };
7E1526B919D4DE890013F222 /* LightBlue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B019D4DE890013F222 /* LightBlue_Front1.png */; };
7E1526BA19D4DE890013F222 /* White_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B119D4DE890013F222 /* White_Front1.png */; };
@@ -172,7 +243,388 @@
7E1526C219D4E0020013F222 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
7E273C8019D9CE460029CCC0 /* Chapter2Level1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E273C7E19D9CE460029CCC0 /* Chapter2Level1.cpp */; };
7E273C8119D9CE460029CCC0 /* Chapter2Level1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E273C7E19D9CE460029CCC0 /* Chapter2Level1.cpp */; };
- 7E4ED39F19DB4D78003A49C2 /* clouds_1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E4ED39E19DB4D78003A49C2 /* clouds_1.png */; };
+ 7E35329C19F06ECB0080126B /* Blue_Back1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329019F06ECB0080126B /* Blue_Back1.png */; };
+ 7E35329D19F06ECB0080126B /* Blue_Back1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329019F06ECB0080126B /* Blue_Back1.png */; };
+ 7E35329E19F06ECB0080126B /* Blue_Back2.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329119F06ECB0080126B /* Blue_Back2.png */; };
+ 7E35329F19F06ECB0080126B /* Blue_Back2.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329119F06ECB0080126B /* Blue_Back2.png */; };
+ 7E3532A019F06ECB0080126B /* Blue_Back3.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329219F06ECB0080126B /* Blue_Back3.png */; };
+ 7E3532A119F06ECB0080126B /* Blue_Back3.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329219F06ECB0080126B /* Blue_Back3.png */; };
+ 7E3532A219F06ECB0080126B /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329319F06ECB0080126B /* Blue_Front1.png */; };
+ 7E3532A319F06ECB0080126B /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329319F06ECB0080126B /* Blue_Front1.png */; };
+ 7E3532A419F06ECB0080126B /* Blue_Front2.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329419F06ECB0080126B /* Blue_Front2.png */; };
+ 7E3532A519F06ECB0080126B /* Blue_Front2.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329419F06ECB0080126B /* Blue_Front2.png */; };
+ 7E3532A619F06ECB0080126B /* Blue_Front3.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329519F06ECB0080126B /* Blue_Front3.png */; };
+ 7E3532A719F06ECB0080126B /* Blue_Front3.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329519F06ECB0080126B /* Blue_Front3.png */; };
+ 7E3532A819F06ECB0080126B /* Blue_Left1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329619F06ECB0080126B /* Blue_Left1.png */; };
+ 7E3532A919F06ECB0080126B /* Blue_Left1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329619F06ECB0080126B /* Blue_Left1.png */; };
+ 7E3532AA19F06ECB0080126B /* Blue_Left2.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329719F06ECB0080126B /* Blue_Left2.png */; };
+ 7E3532AB19F06ECB0080126B /* Blue_Left2.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329719F06ECB0080126B /* Blue_Left2.png */; };
+ 7E3532AC19F06ECB0080126B /* Blue_Left3.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329819F06ECB0080126B /* Blue_Left3.png */; };
+ 7E3532AD19F06ECB0080126B /* Blue_Left3.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329819F06ECB0080126B /* Blue_Left3.png */; };
+ 7E3532AE19F06ECB0080126B /* Blue_Right1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329919F06ECB0080126B /* Blue_Right1.png */; };
+ 7E3532AF19F06ECB0080126B /* Blue_Right1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329919F06ECB0080126B /* Blue_Right1.png */; };
+ 7E3532B019F06ECB0080126B /* Blue_Right2.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329A19F06ECB0080126B /* Blue_Right2.png */; };
+ 7E3532B119F06ECB0080126B /* Blue_Right2.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329A19F06ECB0080126B /* Blue_Right2.png */; };
+ 7E3532B219F06ECB0080126B /* Blue_Right3.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329B19F06ECB0080126B /* Blue_Right3.png */; };
+ 7E3532B319F06ECB0080126B /* Blue_Right3.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E35329B19F06ECB0080126B /* Blue_Right3.png */; };
+ 7E5367FC19EAD7F2005C3C64 /* arx.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DA19EAD7F2005C3C64 /* arx.png */; };
+ 7E5367FD19EAD7F2005C3C64 /* arx.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DA19EAD7F2005C3C64 /* arx.png */; };
+ 7E5367FE19EAD7F2005C3C64 /* axe.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DB19EAD7F2005C3C64 /* axe.c3b */; };
+ 7E5367FF19EAD7F2005C3C64 /* axe.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DB19EAD7F2005C3C64 /* axe.c3b */; };
+ 7E53680019EAD7F2005C3C64 /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DC19EAD7F2005C3C64 /* Blue_Front1.png */; };
+ 7E53680119EAD7F2005C3C64 /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DC19EAD7F2005C3C64 /* Blue_Front1.png */; };
+ 7E53680219EAD7F2005C3C64 /* body.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DD19EAD7F2005C3C64 /* body.png */; };
+ 7E53680319EAD7F2005C3C64 /* body.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DD19EAD7F2005C3C64 /* body.png */; };
+ 7E53680419EAD7F2005C3C64 /* boss.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DE19EAD7F2005C3C64 /* boss.c3b */; };
+ 7E53680519EAD7F2005C3C64 /* boss.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DE19EAD7F2005C3C64 /* boss.c3b */; };
+ 7E53680619EAD7F2005C3C64 /* boss.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DF19EAD7F2005C3C64 /* boss.png */; };
+ 7E53680719EAD7F2005C3C64 /* boss.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367DF19EAD7F2005C3C64 /* boss.png */; };
+ 7E53680819EAD7F2005C3C64 /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E019EAD7F2005C3C64 /* CloseNormal.png */; };
+ 7E53680919EAD7F2005C3C64 /* CloseNormal.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E019EAD7F2005C3C64 /* CloseNormal.png */; };
+ 7E53680A19EAD7F2005C3C64 /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E119EAD7F2005C3C64 /* CloseSelected.png */; };
+ 7E53680B19EAD7F2005C3C64 /* CloseSelected.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E119EAD7F2005C3C64 /* CloseSelected.png */; };
+ 7E53680C19EAD7F2005C3C64 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E319EAD7F2005C3C64 /* Marker Felt.ttf */; };
+ 7E53680D19EAD7F2005C3C64 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E319EAD7F2005C3C64 /* Marker Felt.ttf */; };
+ 7E53680E19EAD7F2005C3C64 /* Girl_Face.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E419EAD7F2005C3C64 /* Girl_Face.png */; };
+ 7E53680F19EAD7F2005C3C64 /* Girl_Face.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E419EAD7F2005C3C64 /* Girl_Face.png */; };
+ 7E53681019EAD7F2005C3C64 /* Girl_Glasses01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E519EAD7F2005C3C64 /* Girl_Glasses01.png */; };
+ 7E53681119EAD7F2005C3C64 /* Girl_Glasses01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E519EAD7F2005C3C64 /* Girl_Glasses01.png */; };
+ 7E53681219EAD7F2005C3C64 /* Girl_Hair01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E619EAD7F2005C3C64 /* Girl_Hair01.png */; };
+ 7E53681319EAD7F2005C3C64 /* Girl_Hair01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E619EAD7F2005C3C64 /* Girl_Hair01.png */; };
+ 7E53681419EAD7F2005C3C64 /* Girl_Hair02.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E719EAD7F2005C3C64 /* Girl_Hair02.png */; };
+ 7E53681519EAD7F2005C3C64 /* Girl_Hair02.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E719EAD7F2005C3C64 /* Girl_Hair02.png */; };
+ 7E53681619EAD7F2005C3C64 /* Girl_Hand.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E819EAD7F2005C3C64 /* Girl_Hand.png */; };
+ 7E53681719EAD7F2005C3C64 /* Girl_Hand.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E819EAD7F2005C3C64 /* Girl_Hand.png */; };
+ 7E53681819EAD7F2005C3C64 /* Girl_LowerBody01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E919EAD7F2005C3C64 /* Girl_LowerBody01.png */; };
+ 7E53681919EAD7F2005C3C64 /* Girl_LowerBody01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367E919EAD7F2005C3C64 /* Girl_LowerBody01.png */; };
+ 7E53681A19EAD7F2005C3C64 /* Girl_LowerBody02.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EA19EAD7F2005C3C64 /* Girl_LowerBody02.png */; };
+ 7E53681B19EAD7F2005C3C64 /* Girl_LowerBody02.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EA19EAD7F2005C3C64 /* Girl_LowerBody02.png */; };
+ 7E53681C19EAD7F2005C3C64 /* Girl_Shoes01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EB19EAD7F2005C3C64 /* Girl_Shoes01.png */; };
+ 7E53681D19EAD7F2005C3C64 /* Girl_Shoes01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EB19EAD7F2005C3C64 /* Girl_Shoes01.png */; };
+ 7E53681E19EAD7F2005C3C64 /* Girl_Shoes02.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EC19EAD7F2005C3C64 /* Girl_Shoes02.png */; };
+ 7E53681F19EAD7F2005C3C64 /* Girl_Shoes02.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EC19EAD7F2005C3C64 /* Girl_Shoes02.png */; };
+ 7E53682019EAD7F2005C3C64 /* Girl_UpperBody01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367ED19EAD7F2005C3C64 /* Girl_UpperBody01.png */; };
+ 7E53682119EAD7F2005C3C64 /* Girl_UpperBody01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367ED19EAD7F2005C3C64 /* Girl_UpperBody01.png */; };
+ 7E53682219EAD7F2005C3C64 /* Girl_UpperBody02.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EE19EAD7F2005C3C64 /* Girl_UpperBody02.png */; };
+ 7E53682319EAD7F2005C3C64 /* Girl_UpperBody02.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EE19EAD7F2005C3C64 /* Girl_UpperBody02.png */; };
+ 7E53682419EAD7F2005C3C64 /* girl.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EF19EAD7F2005C3C64 /* girl.c3b */; };
+ 7E53682519EAD7F2005C3C64 /* girl.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367EF19EAD7F2005C3C64 /* girl.c3b */; };
+ 7E53682619EAD7F2005C3C64 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F019EAD7F2005C3C64 /* HelloWorld.png */; };
+ 7E53682719EAD7F2005C3C64 /* HelloWorld.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F019EAD7F2005C3C64 /* HelloWorld.png */; };
+ 7E53682819EAD7F2005C3C64 /* monguger.tga in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F119EAD7F2005C3C64 /* monguger.tga */; };
+ 7E53682919EAD7F2005C3C64 /* monguger.tga in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F119EAD7F2005C3C64 /* monguger.tga */; };
+ 7E53682A19EAD7F2005C3C64 /* orc.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F219EAD7F2005C3C64 /* orc.c3b */; };
+ 7E53682B19EAD7F2005C3C64 /* orc.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F219EAD7F2005C3C64 /* orc.c3b */; };
+ 7E53682C19EAD7F2005C3C64 /* ReskinGirl.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F319EAD7F2005C3C64 /* ReskinGirl.c3b */; };
+ 7E53682D19EAD7F2005C3C64 /* ReskinGirl.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F319EAD7F2005C3C64 /* ReskinGirl.c3b */; };
+ 7E53682E19EAD7F2005C3C64 /* tortoise.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F419EAD7F2005C3C64 /* tortoise.c3b */; };
+ 7E53682F19EAD7F2005C3C64 /* tortoise.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F419EAD7F2005C3C64 /* tortoise.c3b */; };
+ 7E53683019EAD7F2005C3C64 /* tortoise.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F519EAD7F2005C3C64 /* tortoise.png */; };
+ 7E53683119EAD7F2005C3C64 /* tortoise.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F519EAD7F2005C3C64 /* tortoise.png */; };
+ 7E53683219EAD7F2005C3C64 /* Xie_01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F619EAD7F2005C3C64 /* Xie_01.png */; };
+ 7E53683319EAD7F2005C3C64 /* Xie_01.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F619EAD7F2005C3C64 /* Xie_01.png */; };
+ 7E53683419EAD7F2005C3C64 /* zhujue_jian.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F719EAD7F2005C3C64 /* zhujue_jian.png */; };
+ 7E53683519EAD7F2005C3C64 /* zhujue_jian.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F719EAD7F2005C3C64 /* zhujue_jian.png */; };
+ 7E53683619EAD7F2005C3C64 /* zhujue.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F819EAD7F2005C3C64 /* zhujue.c3b */; };
+ 7E53683719EAD7F2005C3C64 /* zhujue.c3b in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F819EAD7F2005C3C64 /* zhujue.c3b */; };
+ 7E53683819EAD7F2005C3C64 /* zhujue.c3t in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F919EAD7F2005C3C64 /* zhujue.c3t */; };
+ 7E53683919EAD7F2005C3C64 /* zhujue.c3t in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367F919EAD7F2005C3C64 /* zhujue.c3t */; };
+ 7E53683A19EAD7F2005C3C64 /* zhujue.FBX in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367FA19EAD7F2005C3C64 /* zhujue.FBX */; };
+ 7E53683B19EAD7F2005C3C64 /* zhujue.FBX in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367FA19EAD7F2005C3C64 /* zhujue.FBX */; };
+ 7E53683C19EAD7F2005C3C64 /* zhujue.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367FB19EAD7F2005C3C64 /* zhujue.png */; };
+ 7E53683D19EAD7F2005C3C64 /* zhujue.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E5367FB19EAD7F2005C3C64 /* zhujue.png */; };
+ 7E53688119EAD894005C3C64 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53686B19EAD894005C3C64 /* AppDelegate.cpp */; };
+ 7E53688219EAD894005C3C64 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53686B19EAD894005C3C64 /* AppDelegate.cpp */; };
+ 7E53688319EAD894005C3C64 /* Chapter9_1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53686D19EAD894005C3C64 /* Chapter9_1.cpp */; };
+ 7E53688419EAD894005C3C64 /* Chapter9_1.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53686D19EAD894005C3C64 /* Chapter9_1.cpp */; };
+ 7E53688519EAD894005C3C64 /* Chapter9_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53686F19EAD894005C3C64 /* Chapter9_2.cpp */; };
+ 7E53688619EAD894005C3C64 /* Chapter9_2.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53686F19EAD894005C3C64 /* Chapter9_2.cpp */; };
+ 7E53688719EAD894005C3C64 /* Chapter9_3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687119EAD894005C3C64 /* Chapter9_3.cpp */; };
+ 7E53688819EAD894005C3C64 /* Chapter9_3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687119EAD894005C3C64 /* Chapter9_3.cpp */; };
+ 7E53688919EAD894005C3C64 /* Chapter9_4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687319EAD894005C3C64 /* Chapter9_4.cpp */; };
+ 7E53688A19EAD894005C3C64 /* Chapter9_4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687319EAD894005C3C64 /* Chapter9_4.cpp */; };
+ 7E53688B19EAD894005C3C64 /* Chapter9_5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687519EAD894005C3C64 /* Chapter9_5.cpp */; };
+ 7E53688C19EAD894005C3C64 /* Chapter9_5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687519EAD894005C3C64 /* Chapter9_5.cpp */; };
+ 7E53688D19EAD894005C3C64 /* Chapter9_6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687719EAD894005C3C64 /* Chapter9_6.cpp */; };
+ 7E53688E19EAD894005C3C64 /* Chapter9_6.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687719EAD894005C3C64 /* Chapter9_6.cpp */; };
+ 7E53688F19EAD894005C3C64 /* Chapter9_7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687919EAD894005C3C64 /* Chapter9_7.cpp */; };
+ 7E53689019EAD894005C3C64 /* Chapter9_7.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687919EAD894005C3C64 /* Chapter9_7.cpp */; };
+ 7E53689119EAD894005C3C64 /* Chapter9_8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687B19EAD894005C3C64 /* Chapter9_8.cpp */; };
+ 7E53689219EAD894005C3C64 /* Chapter9_8.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687B19EAD894005C3C64 /* Chapter9_8.cpp */; };
+ 7E53689319EAD894005C3C64 /* Chapter9.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687D19EAD894005C3C64 /* Chapter9.cpp */; };
+ 7E53689419EAD894005C3C64 /* Chapter9.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687D19EAD894005C3C64 /* Chapter9.cpp */; };
+ 7E53689519EAD894005C3C64 /* DrawNode3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687F19EAD894005C3C64 /* DrawNode3D.cpp */; };
+ 7E53689619EAD894005C3C64 /* DrawNode3D.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53687F19EAD894005C3C64 /* DrawNode3D.cpp */; };
+ 7E5368CF19EC20DE005C3C64 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 503AE10317EB98FF00D1A890 /* main.cpp */; };
+ 7E5368D119EC20DE005C3C64 /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599119D492B60070A133 /* libcocos2d Mac.a */; };
+ 7E5368D219EC20DE005C3C64 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11117EB99EE00D1A890 /* libcurl.dylib */; };
+ 7E5368D319EC20DE005C3C64 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E5368D419EC20DE005C3C64 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11A17EB9C5A00D1A890 /* IOKit.framework */; };
+ 7E5368D519EC20DE005C3C64 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78A17EB975400C73F5D /* OpenGL.framework */; };
+ 7E5368D619EC20DE005C3C64 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78817EB974C00C73F5D /* AppKit.framework */; };
+ 7E5368D719EC20DE005C3C64 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E5368D819EC20DE005C3C64 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E5368D919EC20DE005C3C64 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E5368DA19EC20DE005C3C64 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E5368DB19EC20DE005C3C64 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E5368E119EC2128005C3C64 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E5368E219EC213B005C3C64 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; };
+ 7E5368E519EC2159005C3C64 /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526AE19D4DE890013F222 /* Blue_Front1.png */; };
+ 7E5368E619EC2159005C3C64 /* LightBlue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B019D4DE890013F222 /* LightBlue_Front1.png */; };
+ 7E5368E719EC2159005C3C64 /* White_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B119D4DE890013F222 /* White_Front1.png */; };
+ 7E5368E819EC2159005C3C64 /* ZigzagForest_Square.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B219D4DE890013F222 /* ZigzagForest_Square.png */; };
+ 7E5368E919EC2159005C3C64 /* ZigzagGrass_Mud_Round.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B319D4DE890013F222 /* ZigzagGrass_Mud_Round.png */; };
+ 7E5368EA19EC217B005C3C64 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF317519E7807500A7FBEA /* AppDelegate.cpp */; };
+ 7E5368EB19EC217B005C3C64 /* AppDelegate.h in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF317619E7807500A7FBEA /* AppDelegate.h */; };
+ 7E5368EC19EC217B005C3C64 /* Chapter3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF317E19E843F100A7FBEA /* Chapter3.cpp */; };
+ 7E5368ED19EC217B005C3C64 /* Chapter3.h in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF317F19E843F100A7FBEA /* Chapter3.h */; };
+ 7E5368F219EC228B005C3C64 /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77617EB970100C73F5D /* Icon-120.png */; };
+ 7E5368F419EC228B005C3C64 /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526AE19D4DE890013F222 /* Blue_Front1.png */; };
+ 7E5368F519EC228B005C3C64 /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
+ 7E5368F719EC228B005C3C64 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77417EB970100C73F5D /* Default@2x.png */; };
+ 7E5368F819EC228B005C3C64 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; };
+ 7E5368F919EC228B005C3C64 /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77817EB970100C73F5D /* Icon-152.png */; };
+ 7E5368FA19EC228B005C3C64 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77217EB970100C73F5D /* Default-568h@2x.png */; };
+ 7E5368FB19EC228B005C3C64 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77A17EB970100C73F5D /* Icon-72.png */; };
+ 7E5368FC19EC228B005C3C64 /* ZigzagForest_Square.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B219D4DE890013F222 /* ZigzagForest_Square.png */; };
+ 7E5368FD19EC228B005C3C64 /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; };
+ 7E5368FE19EC228B005C3C64 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E5368FF19EC228B005C3C64 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77517EB970100C73F5D /* Icon-114.png */; };
+ 7E53690019EC228B005C3C64 /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; };
+ 7E53690119EC228B005C3C64 /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629217ECD46A001EB2F8 /* Icon-40.png */; };
+ 7E53690219EC228B005C3C64 /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77717EB970100C73F5D /* Icon-144.png */; };
+ 7E53690319EC228B005C3C64 /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629417ECD46A001EB2F8 /* Icon-80.png */; };
+ 7E53690619EC228B005C3C64 /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77917EB970100C73F5D /* Icon-57.png */; };
+ 7E53690919EC228B005C3C64 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77317EB970100C73F5D /* Default.png */; };
+ 7E53690A19EC228B005C3C64 /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629317ECD46A001EB2F8 /* Icon-58.png */; };
+ 7E53690E19EC228B005C3C64 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; };
+ 7E53690F19EC228B005C3C64 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FF17EB989F00D1A890 /* RootViewController.mm */; };
+ 7E53691019EC228B005C3C64 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; };
+ 7E53691219EC228B005C3C64 /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599319D492B60070A133 /* libcocos2d iOS.a */; };
+ 7E53691319EC228B005C3C64 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6B0611A1803AB670077942B /* CoreMotion.framework */; };
+ 7E53691419EC228B005C3C64 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E53691519EC228B005C3C64 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+ 7E53691619EC228B005C3C64 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ 7E53691719EC228B005C3C64 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; };
+ 7E53691819EC228B005C3C64 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E53691919EC228B005C3C64 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E53691A19EC228B005C3C64 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E53691B19EC228B005C3C64 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E53691C19EC228B005C3C64 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E53692819EC22F4005C3C64 /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526AE19D4DE890013F222 /* Blue_Front1.png */; };
+ 7E53692919EC22F4005C3C64 /* LightBlue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B019D4DE890013F222 /* LightBlue_Front1.png */; };
+ 7E53692A19EC22F4005C3C64 /* White_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B119D4DE890013F222 /* White_Front1.png */; };
+ 7E53692B19EC22F4005C3C64 /* ZigzagForest_Square.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B219D4DE890013F222 /* ZigzagForest_Square.png */; };
+ 7E53692C19EC22F4005C3C64 /* ZigzagGrass_Mud_Round.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B319D4DE890013F222 /* ZigzagGrass_Mud_Round.png */; };
+ 7E53692D19EC22F4005C3C64 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; };
+ 7E53692E19EC22F4005C3C64 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E53693119EC22F4005C3C64 /* AppDelegate.h in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF317619E7807500A7FBEA /* AppDelegate.h */; };
+ 7E53693419EC22F4005C3C64 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 503AE10317EB98FF00D1A890 /* main.cpp */; };
+ 7E53693619EC22F4005C3C64 /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599119D492B60070A133 /* libcocos2d Mac.a */; };
+ 7E53693719EC22F4005C3C64 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11117EB99EE00D1A890 /* libcurl.dylib */; };
+ 7E53693819EC22F4005C3C64 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E53693919EC22F4005C3C64 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11A17EB9C5A00D1A890 /* IOKit.framework */; };
+ 7E53693A19EC22F4005C3C64 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78A17EB975400C73F5D /* OpenGL.framework */; };
+ 7E53693B19EC22F4005C3C64 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78817EB974C00C73F5D /* AppKit.framework */; };
+ 7E53693C19EC22F4005C3C64 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E53693D19EC22F4005C3C64 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E53693E19EC22F4005C3C64 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E53693F19EC22F4005C3C64 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E53694019EC22F4005C3C64 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E53694A19EC234D005C3C64 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53694619EC234D005C3C64 /* AppDelegate.cpp */; };
+ 7E53694B19EC234D005C3C64 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53694619EC234D005C3C64 /* AppDelegate.cpp */; };
+ 7E53694C19EC234D005C3C64 /* Chapter4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53694819EC234D005C3C64 /* Chapter4.cpp */; };
+ 7E53694D19EC234D005C3C64 /* Chapter4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E53694819EC234D005C3C64 /* Chapter4.cpp */; };
+ 7E914A461A1BC3F200C6B2D4 /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77617EB970100C73F5D /* Icon-120.png */; };
+ 7E914A471A1BC3F200C6B2D4 /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
+ 7E914A481A1BC3F200C6B2D4 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77417EB970100C73F5D /* Default@2x.png */; };
+ 7E914A4A1A1BC3F200C6B2D4 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; };
+ 7E914A4B1A1BC3F200C6B2D4 /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77817EB970100C73F5D /* Icon-152.png */; };
+ 7E914A4C1A1BC3F200C6B2D4 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77217EB970100C73F5D /* Default-568h@2x.png */; };
+ 7E914A4D1A1BC3F200C6B2D4 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77A17EB970100C73F5D /* Icon-72.png */; };
+ 7E914A4E1A1BC3F200C6B2D4 /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; };
+ 7E914A4F1A1BC3F200C6B2D4 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E914A501A1BC3F200C6B2D4 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77517EB970100C73F5D /* Icon-114.png */; };
+ 7E914A511A1BC3F200C6B2D4 /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; };
+ 7E914A531A1BC3F200C6B2D4 /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629217ECD46A001EB2F8 /* Icon-40.png */; };
+ 7E914A541A1BC3F200C6B2D4 /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77717EB970100C73F5D /* Icon-144.png */; };
+ 7E914A551A1BC3F200C6B2D4 /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629417ECD46A001EB2F8 /* Icon-80.png */; };
+ 7E914A561A1BC3F200C6B2D4 /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77917EB970100C73F5D /* Icon-57.png */; };
+ 7E914A571A1BC3F200C6B2D4 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77317EB970100C73F5D /* Default.png */; };
+ 7E914A581A1BC3F200C6B2D4 /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629317ECD46A001EB2F8 /* Icon-58.png */; };
+ 7E914A5B1A1BC3F200C6B2D4 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; };
+ 7E914A5C1A1BC3F200C6B2D4 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FF17EB989F00D1A890 /* RootViewController.mm */; };
+ 7E914A5E1A1BC3F200C6B2D4 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; };
+ 7E914A601A1BC3F200C6B2D4 /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599319D492B60070A133 /* libcocos2d iOS.a */; };
+ 7E914A611A1BC3F200C6B2D4 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6B0611A1803AB670077942B /* CoreMotion.framework */; };
+ 7E914A621A1BC3F200C6B2D4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E914A631A1BC3F200C6B2D4 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+ 7E914A641A1BC3F200C6B2D4 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ 7E914A651A1BC3F200C6B2D4 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; };
+ 7E914A661A1BC3F200C6B2D4 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E914A671A1BC3F200C6B2D4 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E914A681A1BC3F200C6B2D4 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E914A691A1BC3F200C6B2D4 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E914A6A1A1BC3F200C6B2D4 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E914A751A1BC40200C6B2D4 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; };
+ 7E914A761A1BC40200C6B2D4 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E914A7B1A1BC40200C6B2D4 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 503AE10317EB98FF00D1A890 /* main.cpp */; };
+ 7E914A7D1A1BC40200C6B2D4 /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599119D492B60070A133 /* libcocos2d Mac.a */; };
+ 7E914A7E1A1BC40200C6B2D4 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11117EB99EE00D1A890 /* libcurl.dylib */; };
+ 7E914A7F1A1BC40200C6B2D4 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E914A801A1BC40200C6B2D4 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11A17EB9C5A00D1A890 /* IOKit.framework */; };
+ 7E914A811A1BC40200C6B2D4 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78A17EB975400C73F5D /* OpenGL.framework */; };
+ 7E914A821A1BC40200C6B2D4 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78817EB974C00C73F5D /* AppKit.framework */; };
+ 7E914A831A1BC40200C6B2D4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E914A841A1BC40200C6B2D4 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E914A851A1BC40200C6B2D4 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E914A861A1BC40200C6B2D4 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E914A871A1BC40200C6B2D4 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E914A921A1BC8F500C6B2D4 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E914A8E1A1BC8F500C6B2D4 /* AppDelegate.cpp */; };
+ 7E914A931A1BC8F500C6B2D4 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E914A8E1A1BC8F500C6B2D4 /* AppDelegate.cpp */; };
+ 7E914A941A1BC8F500C6B2D4 /* Chapter5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E914A901A1BC8F500C6B2D4 /* Chapter5.cpp */; };
+ 7E914A951A1BC8F500C6B2D4 /* Chapter5.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E914A901A1BC8F500C6B2D4 /* Chapter5.cpp */; };
+ 7E9571A219F1938B00F6AE44 /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77617EB970100C73F5D /* Icon-120.png */; };
+ 7E9571A519F1938B00F6AE44 /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
+ 7E9571A719F1938B00F6AE44 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77417EB970100C73F5D /* Default@2x.png */; };
+ 7E9571A819F1938B00F6AE44 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; };
+ 7E9571A919F1938B00F6AE44 /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77817EB970100C73F5D /* Icon-152.png */; };
+ 7E9571AA19F1938B00F6AE44 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77217EB970100C73F5D /* Default-568h@2x.png */; };
+ 7E9571AB19F1938B00F6AE44 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77A17EB970100C73F5D /* Icon-72.png */; };
+ 7E9571AD19F1938B00F6AE44 /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; };
+ 7E9571AE19F1938B00F6AE44 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E9571AF19F1938B00F6AE44 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77517EB970100C73F5D /* Icon-114.png */; };
+ 7E9571B019F1938B00F6AE44 /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; };
+ 7E9571B119F1938B00F6AE44 /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629217ECD46A001EB2F8 /* Icon-40.png */; };
+ 7E9571B219F1938B00F6AE44 /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77717EB970100C73F5D /* Icon-144.png */; };
+ 7E9571B319F1938B00F6AE44 /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629417ECD46A001EB2F8 /* Icon-80.png */; };
+ 7E9571B619F1938B00F6AE44 /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77917EB970100C73F5D /* Icon-57.png */; };
+ 7E9571BA19F1938B00F6AE44 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77317EB970100C73F5D /* Default.png */; };
+ 7E9571BB19F1938B00F6AE44 /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629317ECD46A001EB2F8 /* Icon-58.png */; };
+ 7E9571BF19F1938B00F6AE44 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; };
+ 7E9571C019F1938B00F6AE44 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FF17EB989F00D1A890 /* RootViewController.mm */; };
+ 7E9571C119F1938B00F6AE44 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; };
+ 7E9571C319F1938B00F6AE44 /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599319D492B60070A133 /* libcocos2d iOS.a */; };
+ 7E9571C419F1938B00F6AE44 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6B0611A1803AB670077942B /* CoreMotion.framework */; };
+ 7E9571C519F1938B00F6AE44 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E9571C619F1938B00F6AE44 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+ 7E9571C719F1938B00F6AE44 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ 7E9571C819F1938B00F6AE44 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; };
+ 7E9571C919F1938B00F6AE44 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E9571CA19F1938B00F6AE44 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E9571CB19F1938B00F6AE44 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E9571CC19F1938B00F6AE44 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E9571CD19F1938B00F6AE44 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E9571E819F196D200F6AE44 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; };
+ 7E9571E919F196D200F6AE44 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E9571EF19F196D200F6AE44 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 503AE10317EB98FF00D1A890 /* main.cpp */; };
+ 7E9571F119F196D200F6AE44 /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599119D492B60070A133 /* libcocos2d Mac.a */; };
+ 7E9571F219F196D200F6AE44 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11117EB99EE00D1A890 /* libcurl.dylib */; };
+ 7E9571F319F196D200F6AE44 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E9571F419F196D200F6AE44 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11A17EB9C5A00D1A890 /* IOKit.framework */; };
+ 7E9571F519F196D200F6AE44 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78A17EB975400C73F5D /* OpenGL.framework */; };
+ 7E9571F619F196D200F6AE44 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78817EB974C00C73F5D /* AppKit.framework */; };
+ 7E9571F719F196D200F6AE44 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E9571F819F196D200F6AE44 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E9571F919F196D200F6AE44 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E9571FA19F196D200F6AE44 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E9571FB19F196D200F6AE44 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E95720619F197BA00F6AE44 /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77617EB970100C73F5D /* Icon-120.png */; };
+ 7E95720719F197BA00F6AE44 /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
+ 7E95720819F197BA00F6AE44 /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77417EB970100C73F5D /* Default@2x.png */; };
+ 7E95720919F197BA00F6AE44 /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; };
+ 7E95720A19F197BA00F6AE44 /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77817EB970100C73F5D /* Icon-152.png */; };
+ 7E95720B19F197BA00F6AE44 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77217EB970100C73F5D /* Default-568h@2x.png */; };
+ 7E95720C19F197BA00F6AE44 /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77A17EB970100C73F5D /* Icon-72.png */; };
+ 7E95720D19F197BA00F6AE44 /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; };
+ 7E95720E19F197BA00F6AE44 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E95720F19F197BA00F6AE44 /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77517EB970100C73F5D /* Icon-114.png */; };
+ 7E95721019F197BA00F6AE44 /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; };
+ 7E95721119F197BA00F6AE44 /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629217ECD46A001EB2F8 /* Icon-40.png */; };
+ 7E95721219F197BA00F6AE44 /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77717EB970100C73F5D /* Icon-144.png */; };
+ 7E95721319F197BA00F6AE44 /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629417ECD46A001EB2F8 /* Icon-80.png */; };
+ 7E95721419F197BA00F6AE44 /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77917EB970100C73F5D /* Icon-57.png */; };
+ 7E95721519F197BA00F6AE44 /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77317EB970100C73F5D /* Default.png */; };
+ 7E95721619F197BA00F6AE44 /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629317ECD46A001EB2F8 /* Icon-58.png */; };
+ 7E95721819F197BA00F6AE44 /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; };
+ 7E95721919F197BA00F6AE44 /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FF17EB989F00D1A890 /* RootViewController.mm */; };
+ 7E95721A19F197BA00F6AE44 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; };
+ 7E95721C19F197BA00F6AE44 /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599319D492B60070A133 /* libcocos2d iOS.a */; };
+ 7E95721D19F197BA00F6AE44 /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6B0611A1803AB670077942B /* CoreMotion.framework */; };
+ 7E95721E19F197BA00F6AE44 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E95721F19F197BA00F6AE44 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+ 7E95722019F197BA00F6AE44 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ 7E95722119F197BA00F6AE44 /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; };
+ 7E95722219F197BA00F6AE44 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E95722319F197BA00F6AE44 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E95722419F197BA00F6AE44 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E95722519F197BA00F6AE44 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E95722619F197BA00F6AE44 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E95723019F197F500F6AE44 /* Icon.icns in Resources */ = {isa = PBXBuildFile; fileRef = 503AE0F617EB97AB00D1A890 /* Icon.icns */; };
+ 7E95723119F197F500F6AE44 /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7E95723319F197F500F6AE44 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 503AE10317EB98FF00D1A890 /* main.cpp */; };
+ 7E95723519F197F500F6AE44 /* libcocos2d Mac.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599119D492B60070A133 /* libcocos2d Mac.a */; };
+ 7E95723619F197F500F6AE44 /* libcurl.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11117EB99EE00D1A890 /* libcurl.dylib */; };
+ 7E95723719F197F500F6AE44 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7E95723819F197F500F6AE44 /* IOKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 503AE11A17EB9C5A00D1A890 /* IOKit.framework */; };
+ 7E95723919F197F500F6AE44 /* OpenGL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78A17EB975400C73F5D /* OpenGL.framework */; };
+ 7E95723A19F197F500F6AE44 /* AppKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5087E78817EB974C00C73F5D /* AppKit.framework */; };
+ 7E95723B19F197F500F6AE44 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7E95723C19F197F500F6AE44 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7E95723D19F197F500F6AE44 /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7E95723E19F197F500F6AE44 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7E95723F19F197F500F6AE44 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7E95724919F1983600F6AE44 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E95724519F1983600F6AE44 /* AppDelegate.cpp */; };
+ 7E95724A19F1983600F6AE44 /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E95724519F1983600F6AE44 /* AppDelegate.cpp */; };
+ 7E95724B19F1983600F6AE44 /* Chapter13.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E95724719F1983600F6AE44 /* Chapter13.cpp */; };
+ 7E95724C19F1983600F6AE44 /* Chapter13.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7E95724719F1983600F6AE44 /* Chapter13.cpp */; };
+ 7E95725019F1993300F6AE44 /* alert.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 7E95724E19F1993300F6AE44 /* alert.mp3 */; };
+ 7E95725119F1993300F6AE44 /* alert.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 7E95724E19F1993300F6AE44 /* alert.mp3 */; };
+ 7E95725219F1993300F6AE44 /* music.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 7E95724F19F1993300F6AE44 /* music.mp3 */; };
+ 7E95725319F1993300F6AE44 /* music.mp3 in Resources */ = {isa = PBXBuildFile; fileRef = 7E95724F19F1993300F6AE44 /* music.mp3 */; };
+ 7EBF314319E7803F00A7FBEA /* Icon-120.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77617EB970100C73F5D /* Icon-120.png */; };
+ 7EBF314519E7803F00A7FBEA /* Blue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526AE19D4DE890013F222 /* Blue_Front1.png */; };
+ 7EBF314619E7803F00A7FBEA /* Icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77B17EB970100C73F5D /* Icon-76.png */; };
+ 7EBF314719E7803F00A7FBEA /* Default@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77417EB970100C73F5D /* Default@2x.png */; };
+ 7EBF314819E7803F00A7FBEA /* Icon-100.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629517ECD46A001EB2F8 /* Icon-100.png */; };
+ 7EBF314919E7803F00A7FBEA /* Icon-152.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77817EB970100C73F5D /* Icon-152.png */; };
+ 7EBF314A19E7803F00A7FBEA /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77217EB970100C73F5D /* Default-568h@2x.png */; };
+ 7EBF314B19E7803F00A7FBEA /* Icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77A17EB970100C73F5D /* Icon-72.png */; };
+ 7EBF314C19E7803F00A7FBEA /* ZigzagForest_Square.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B219D4DE890013F222 /* ZigzagForest_Square.png */; };
+ 7EBF314D19E7803F00A7FBEA /* Icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A117ECD613001EB2F8 /* Icon-50.png */; };
+ 7EBF314E19E7803F00A7FBEA /* Icon-114.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77517EB970100C73F5D /* Icon-114.png */; };
+ 7EBF315019E7803F00A7FBEA /* Icon-29.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF62A017ECD613001EB2F8 /* Icon-29.png */; };
+ 7EBF315119E7803F00A7FBEA /* Icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629217ECD46A001EB2F8 /* Icon-40.png */; };
+ 7EBF315219E7803F00A7FBEA /* Icon-144.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77717EB970100C73F5D /* Icon-144.png */; };
+ 7EBF315419E7803F00A7FBEA /* Icon-80.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629417ECD46A001EB2F8 /* Icon-80.png */; };
+ 7EBF315619E7803F00A7FBEA /* LightBlue_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B019D4DE890013F222 /* LightBlue_Front1.png */; };
+ 7EBF315719E7803F00A7FBEA /* ZigzagGrass_Mud_Round.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B319D4DE890013F222 /* ZigzagGrass_Mud_Round.png */; };
+ 7EBF315819E7803F00A7FBEA /* Icon-57.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77917EB970100C73F5D /* Icon-57.png */; };
+ 7EBF315919E7803F00A7FBEA /* White_Front1.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526B119D4DE890013F222 /* White_Front1.png */; };
+ 7EBF315A19E7803F00A7FBEA /* Default.png in Resources */ = {isa = PBXBuildFile; fileRef = 5087E77317EB970100C73F5D /* Default.png */; };
+ 7EBF315B19E7803F00A7FBEA /* Icon-58.png in Resources */ = {isa = PBXBuildFile; fileRef = 50EF629317ECD46A001EB2F8 /* Icon-58.png */; };
+ 7EBF315F19E7803F00A7FBEA /* AppController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FB17EB989F00D1A890 /* AppController.mm */; };
+ 7EBF316119E7803F00A7FBEA /* RootViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FF17EB989F00D1A890 /* RootViewController.mm */; };
+ 7EBF316219E7803F00A7FBEA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 503AE0FC17EB989F00D1A890 /* main.m */; };
+ 7EBF316419E7803F00A7FBEA /* libcocos2d iOS.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 50BA599319D492B60070A133 /* libcocos2d iOS.a */; };
+ 7EBF316519E7803F00A7FBEA /* CoreMotion.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D6B0611A1803AB670077942B /* CoreMotion.framework */; };
+ 7EBF316619E7803F00A7FBEA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D30AB110D05D00D00671497 /* Foundation.framework */; };
+ 7EBF316719E7803F00A7FBEA /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */; };
+ 7EBF316819E7803F00A7FBEA /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765A40DF7441C002DB57D /* CoreGraphics.framework */; };
+ 7EBF316919E7803F00A7FBEA /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; };
+ 7EBF316A19E7803F00A7FBEA /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
+ 7EBF316B19E7803F00A7FBEA /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
+ 7EBF316C19E7803F00A7FBEA /* OpenAL.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620B132DFF330009C878 /* OpenAL.framework */; };
+ 7EBF316D19E7803F00A7FBEA /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620D132DFF430009C878 /* AVFoundation.framework */; };
+ 7EBF316E19E7803F00A7FBEA /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D44C620F132DFF4E0009C878 /* AudioToolbox.framework */; };
+ 7EBF317B19E7807500A7FBEA /* AppDelegate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF317519E7807500A7FBEA /* AppDelegate.cpp */; };
+ 7EBF318019E843F100A7FBEA /* Chapter3.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7EBF317E19E843F100A7FBEA /* Chapter3.cpp */; };
+ 7EBF318219E8485600A7FBEA /* Chapter 3 iOS-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 7EBF318119E8485600A7FBEA /* Chapter 3 iOS-Info.plist */; };
+ 7EBF318319E84A1F00A7FBEA /* Marker Felt.ttf in Resources */ = {isa = PBXBuildFile; fileRef = 7E1526C019D4E0020013F222 /* Marker Felt.ttf */; };
+ 7EC0CFCB19ECD4BD00C41BDA /* dot.png in Resources */ = {isa = PBXBuildFile; fileRef = 7EC0CFC819ECD2FD00C41BDA /* dot.png */; };
+ 7EC0CFCC19ECD4BE00C41BDA /* dot.png in Resources */ = {isa = PBXBuildFile; fileRef = 7EC0CFC819ECD2FD00C41BDA /* dot.png */; };
+ 7EC0CFCD19ECE10A00C41BDA /* dot.png in Resources */ = {isa = PBXBuildFile; fileRef = 7EC0CFC819ECD2FD00C41BDA /* dot.png */; };
+ 7EC0CFCE19ECE10B00C41BDA /* dot.png in Resources */ = {isa = PBXBuildFile; fileRef = 7EC0CFC819ECD2FD00C41BDA /* dot.png */; };
BF171245129291EC00B8313A /* OpenGLES.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB012928DE900B8313A /* OpenGLES.framework */; };
BF1712471292920000B8313A /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = BF170DB412928DE900B8313A /* libz.dylib */; };
BF1C47F01293687400B63C5D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BF1C47EA1293683800B63C5D /* QuartzCore.framework */; };
@@ -183,6 +635,34 @@
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
+ 296358BA19F78D4F003732AB /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = A07A4C241783777C0073F6A7;
+ remoteInfo = "libcocos2d iOS";
+ };
+ 2963591819F78F74003732AB /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
+ remoteInfo = "libcocos2d Mac";
+ };
+ 3EE7F8BE19ED607500448914 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = A07A4C241783777C0073F6A7;
+ remoteInfo = "libcocos2d iOS";
+ };
+ 3EE7F8F019ED607800448914 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
+ remoteInfo = "libcocos2d Mac";
+ };
50BA599019D492B60070A133 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
@@ -225,14 +705,109 @@
remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
remoteInfo = "libcocos2d Mac";
};
+ 7E53689F19EC20DE005C3C64 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
+ remoteInfo = "libcocos2d Mac";
+ };
+ 7E5368F019EC228B005C3C64 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = A07A4C241783777C0073F6A7;
+ remoteInfo = "libcocos2d iOS";
+ };
+ 7E53692419EC22F4005C3C64 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
+ remoteInfo = "libcocos2d Mac";
+ };
+ 7E914A441A1BC3F200C6B2D4 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = A07A4C241783777C0073F6A7;
+ remoteInfo = "libcocos2d iOS";
+ };
+ 7E914A721A1BC40200C6B2D4 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
+ remoteInfo = "libcocos2d Mac";
+ };
+ 7E9571A019F1938B00F6AE44 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = A07A4C241783777C0073F6A7;
+ remoteInfo = "libcocos2d iOS";
+ };
+ 7E9571D519F196D200F6AE44 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
+ remoteInfo = "libcocos2d Mac";
+ };
+ 7E95720419F197BA00F6AE44 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = A07A4C241783777C0073F6A7;
+ remoteInfo = "libcocos2d iOS";
+ };
+ 7E95722E19F197F500F6AE44 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = 1551A33E158F2AB200E66CFE;
+ remoteInfo = "libcocos2d Mac";
+ };
+ 7EBF314119E7803F00A7FBEA /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = A07A4C241783777C0073F6A7;
+ remoteInfo = "libcocos2d iOS";
+ };
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
1ACB3243164770DE00914215 /* libcurl.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libcurl.a; path = ../../cocos2dx/platform/third_party/ios/libraries/libcurl.a; sourceTree = ""; };
1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
- 1D6058910D05DD3D006BFB54 /* Programmers Guide iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Programmers Guide iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1D6058910D05DD3D006BFB54 /* Chapter 2.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 2.app"; sourceTree = BUILT_PRODUCTS_DIR; };
1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
288765A40DF7441C002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+ 296358F119F78D4F003732AB /* Chapter 6 iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 6 iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 296358F419F78D81003732AB /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppDelegate.cpp; path = chapter6/AppDelegate.cpp; sourceTree = ""; };
+ 296358F519F78D81003732AB /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = chapter6/AppDelegate.h; sourceTree = ""; };
+ 296358F619F78D81003732AB /* Chapter6.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter6.cpp; path = chapter6/Chapter6.cpp; sourceTree = ""; };
+ 296358F719F78D81003732AB /* Chapter6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter6.h; path = chapter6/Chapter6.h; sourceTree = ""; };
+ 296358FE19F78ED4003732AB /* arial.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = arial.ttf; sourceTree = ""; };
+ 296358FF19F78ED4003732AB /* bitmapFontTest.fnt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = bitmapFontTest.fnt; sourceTree = ""; };
+ 2963590019F78ED4003732AB /* bitmapFontTest.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = bitmapFontTest.png; sourceTree = ""; };
+ 2963590119F78ED4003732AB /* labelatlasimg.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = labelatlasimg.png; sourceTree = ""; };
+ 2963590219F78ED4003732AB /* leftNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = leftNormal.png; sourceTree = ""; };
+ 2963590319F78ED4003732AB /* leftSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = leftSelected.png; sourceTree = ""; };
+ 2963590419F78ED4003732AB /* menuItemSpriteNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menuItemSpriteNormal.png; sourceTree = ""; };
+ 2963590519F78ED4003732AB /* menuItemSpriteSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = menuItemSpriteSelected.png; sourceTree = ""; };
+ 2963590619F78ED4003732AB /* restartNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = restartNormal.png; sourceTree = ""; };
+ 2963590719F78ED4003732AB /* restartSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = restartSelected.png; sourceTree = ""; };
+ 2963590819F78ED4003732AB /* rightNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rightNormal.png; sourceTree = ""; };
+ 2963590919F78ED4003732AB /* rightSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = rightSelected.png; sourceTree = ""; };
+ 2963594219F78F74003732AB /* Chapter 6 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 6 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 3EE7F8EC19ED607500448914 /* Chapter 12 iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 12 iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 3EE7F90D19ED607800448914 /* Chapter 12 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 12 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 3EE7F91019ED60DF00448914 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; };
+ 3EE7F91119ED60DF00448914 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 3EE7F91219ED60DF00448914 /* Chapter12.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter12.cpp; sourceTree = ""; };
+ 3EE7F91319ED60DF00448914 /* Chapter12.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter12.h; sourceTree = ""; };
+ 3EE7F91819ED60F200448914 /* chapter12 */ = {isa = PBXFileReference; lastKnownFileType = folder; path = chapter12; sourceTree = ""; };
503AE0F617EB97AB00D1A890 /* Icon.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = Icon.icns; sourceTree = ""; };
503AE0F717EB97AB00D1A890 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
503AE0FA17EB989F00D1A890 /* AppController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppController.h; path = ios/AppController.h; sourceTree = SOURCE_ROOT; };
@@ -245,7 +820,7 @@
503AE10417EB98FF00D1A890 /* Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Prefix.pch; path = mac/Prefix.pch; sourceTree = ""; };
503AE11117EB99EE00D1A890 /* libcurl.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libcurl.dylib; path = usr/lib/libcurl.dylib; sourceTree = SDKROOT; };
503AE11A17EB9C5A00D1A890 /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = System/Library/Frameworks/IOKit.framework; sourceTree = SDKROOT; };
- 5087E76F17EB910900C73F5D /* Programmers Guide Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Programmers Guide Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 5087E76F17EB910900C73F5D /* Chapter 2 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 2 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
5087E77217EB970100C73F5D /* Default-568h@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x.png"; sourceTree = ""; };
5087E77317EB970100C73F5D /* Default.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Default.png; sourceTree = ""; };
5087E77417EB970100C73F5D /* Default@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x.png"; sourceTree = ""; };
@@ -259,66 +834,28 @@
5087E77C17EB970100C73F5D /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
5087E78817EB974C00C73F5D /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
5087E78A17EB975400C73F5D /* OpenGL.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGL.framework; path = System/Library/Frameworks/OpenGL.framework; sourceTree = SDKROOT; };
+ 50A5DBBD19EC441300082E51 /* sprites.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = sprites.plist; path = ../res/chapter3/sprites.plist; sourceTree = ""; };
+ 50A5DBBE19EC441300082E51 /* sprites.pvr.ccz */ = {isa = PBXFileReference; lastKnownFileType = file; name = sprites.pvr.ccz; path = ../res/chapter3/sprites.pvr.ccz; sourceTree = ""; };
50BA598B19D492B60070A133 /* cocos2d_libs.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = cocos2d_libs.xcodeproj; path = "../libs/cocos2d-x/build/cocos2d_libs.xcodeproj"; sourceTree = ""; };
50BA599A19D493310070A133 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; };
50BA599B19D493310070A133 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
50BA599C19D493310070A133 /* Chapter2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter2.cpp; sourceTree = ""; };
50BA599D19D493310070A133 /* Chapter2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter2.h; sourceTree = ""; };
- 50BA59A819D498F00070A133 /* Marker Felt.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Marker Felt.ttf"; sourceTree = ""; };
- 50BA59DF19D4992C0070A133 /* Chapter 2 iOS copy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 2 iOS copy.app"; sourceTree = BUILT_PRODUCTS_DIR; };
- 50BA59E019D4992C0070A133 /* Chapter 2 iOS copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Chapter 2 iOS copy-Info.plist"; path = "/Users/riq/progs/programmers-guide-samples/proj.ios_mac/Chapter 2 iOS copy-Info.plist"; sourceTree = ""; };
- 50BA59FD19D499360070A133 /* Chapter 2 Mac copy.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 2 Mac copy.app"; sourceTree = BUILT_PRODUCTS_DIR; };
- 50BA59FE19D499360070A133 /* Chapter 2 Mac copy-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; name = "Chapter 2 Mac copy-Info.plist"; path = "/Users/riq/progs/programmers-guide-samples/proj.ios_mac/Chapter 2 Mac copy-Info.plist"; sourceTree = ""; };
- 50BA5A0019D49A2F0070A133 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; };
- 50BA5A0119D49A2F0070A133 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- 50BA5A0219D49A2F0070A133 /* Chapter10.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter10.cpp; sourceTree = ""; };
- 50BA5A0319D49A2F0070A133 /* Chapter10.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter10.h; sourceTree = ""; };
- 50BA5A0919D49A3F0070A133 /* CloseNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CloseNormal.png; sourceTree = ""; };
- 50BA5A0A19D49A3F0070A133 /* CloseSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = CloseSelected.png; sourceTree = ""; };
- 50BA5A0C19D49A3F0070A133 /* Marker Felt.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Marker Felt.ttf"; sourceTree = ""; };
- 50BA5A0D19D49A3F0070A133 /* HelloWorld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = HelloWorld.png; sourceTree = ""; };
+ 50BA59DF19D4992C0070A133 /* Chapter 9 iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 9 iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 50BA59FD19D499360070A133 /* Chapter 9 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 9 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
50EF629217ECD46A001EB2F8 /* Icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-40.png"; sourceTree = ""; };
50EF629317ECD46A001EB2F8 /* Icon-58.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-58.png"; sourceTree = ""; };
50EF629417ECD46A001EB2F8 /* Icon-80.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-80.png"; sourceTree = ""; };
50EF629517ECD46A001EB2F8 /* Icon-100.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-100.png"; sourceTree = ""; };
50EF62A017ECD613001EB2F8 /* Icon-29.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-29.png"; sourceTree = ""; };
50EF62A117ECD613001EB2F8 /* Icon-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Icon-50.png"; sourceTree = ""; };
- 5E453F5C19E5178500AB3A5D /* Chapter10_1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter10_1.cpp; sourceTree = ""; };
- 5E453F5D19E5178500AB3A5D /* Chapter10_1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter10_1.h; sourceTree = ""; };
- 5E453F6219E5359600AB3A5D /* boss.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; path = boss.c3b; sourceTree = ""; };
- 5E453F6319E5359600AB3A5D /* boss.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = boss.png; sourceTree = ""; };
- 5E453F6A19E5423D00AB3A5D /* Chapter10_2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter10_2.cpp; sourceTree = ""; };
- 5E453F6B19E5423D00AB3A5D /* Chapter10_2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter10_2.h; sourceTree = ""; };
- 5E453F6E19E5452600AB3A5D /* monguger.tga */ = {isa = PBXFileReference; lastKnownFileType = file; path = monguger.tga; sourceTree = ""; };
- 5E453F6F19E5452600AB3A5D /* orc.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; path = orc.c3b; sourceTree = ""; };
- 5E453F7419E62AD000AB3A5D /* Chapter10_3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter10_3.cpp; sourceTree = ""; };
- 5E453F7519E62AD000AB3A5D /* Chapter10_3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter10_3.h; sourceTree = ""; };
- 5E453F7819E62CAA00AB3A5D /* arx.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = arx.png; sourceTree = ""; };
- 5E453F7919E62CAA00AB3A5D /* axe.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; path = axe.c3b; sourceTree = ""; };
- 5E453F7E19E62EB700AB3A5D /* Girl_Face.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_Face.png; sourceTree = ""; };
- 5E453F7F19E62EB700AB3A5D /* Girl_Glasses01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_Glasses01.png; sourceTree = ""; };
- 5E453F8019E62EB700AB3A5D /* Girl_Hair01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_Hair01.png; sourceTree = ""; };
- 5E453F8119E62EB700AB3A5D /* Girl_Hair02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_Hair02.png; sourceTree = ""; };
- 5E453F8219E62EB700AB3A5D /* Girl_Hand.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_Hand.png; sourceTree = ""; };
- 5E453F8319E62EB700AB3A5D /* Girl_LowerBody01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_LowerBody01.png; sourceTree = ""; };
- 5E453F8419E62EB700AB3A5D /* Girl_LowerBody02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_LowerBody02.png; sourceTree = ""; };
- 5E453F8519E62EB700AB3A5D /* Girl_Shoes01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_Shoes01.png; sourceTree = ""; };
- 5E453F8619E62EB700AB3A5D /* Girl_Shoes02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_Shoes02.png; sourceTree = ""; };
- 5E453F8719E62EB700AB3A5D /* Girl_UpperBody01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_UpperBody01.png; sourceTree = ""; };
- 5E453F8819E62EB700AB3A5D /* Girl_UpperBody02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Girl_UpperBody02.png; sourceTree = ""; };
- 5E453F8919E62EB700AB3A5D /* ReskinGirl.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; path = ReskinGirl.c3b; sourceTree = ""; };
- 5E453FA219E6309600AB3A5D /* Chapter10_4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter10_4.cpp; sourceTree = ""; };
- 5E453FA319E6309600AB3A5D /* Chapter10_4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter10_4.h; sourceTree = ""; };
- 5E5874DB19E8DCB0009744B7 /* Chapter10_7.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter10_7.cpp; sourceTree = ""; };
- 5E5874DC19E8DCB0009744B7 /* Chapter10_7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter10_7.h; sourceTree = ""; };
- 5EAA122319E790B700B5D2BA /* Chapter10_5.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter10_5.cpp; sourceTree = ""; };
- 5EAA122419E790B700B5D2BA /* Chapter10_5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter10_5.h; sourceTree = ""; };
- 5EAA122719E7D1E400B5D2BA /* DrawNode3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DrawNode3D.cpp; sourceTree = ""; };
- 5EAA122819E7D1E400B5D2BA /* DrawNode3D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DrawNode3D.h; sourceTree = ""; };
- 5EAA122B19E7E69600B5D2BA /* Chapter10_6.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter10_6.cpp; sourceTree = ""; };
- 5EAA122C19E7E69600B5D2BA /* Chapter10_6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter10_6.h; sourceTree = ""; };
+ 5E38D2C419F0F3DD0099B433 /* Chapter9_9.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_9.cpp; path = chapter9/Chapter9_9.cpp; sourceTree = ""; };
+ 5E38D2C519F0F3DD0099B433 /* Chapter9_9.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_9.h; path = chapter9/Chapter9_9.h; sourceTree = ""; };
+ 5E38D2C819F0F3FF0099B433 /* sphere.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; name = sphere.c3b; path = chapter9/sphere.c3b; sourceTree = ""; };
+ 5E38D2C919F0F3FF0099B433 /* spheretex.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = spheretex.png; path = chapter9/spheretex.png; sourceTree = ""; };
+ 5E4C83EA1A3EC4DA00F65FA9 /* plane.obj */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = plane.obj; path = chapter9/plane.obj; sourceTree = ""; };
+ 5E4C83ED1A3EC4F900F65FA9 /* planetex.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = planetex.png; path = chapter9/planetex.png; sourceTree = ""; };
7E1526AE19D4DE890013F222 /* Blue_Front1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = Blue_Front1.png; sourceTree = ""; };
- 7E1526AF19D4DE890013F222 /* HelloWorld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = HelloWorld.png; sourceTree = ""; };
7E1526B019D4DE890013F222 /* LightBlue_Front1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = LightBlue_Front1.png; sourceTree = ""; };
7E1526B119D4DE890013F222 /* White_Front1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = White_Front1.png; sourceTree = ""; };
7E1526B219D4DE890013F222 /* ZigzagForest_Square.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = ZigzagForest_Square.png; sourceTree = ""; };
@@ -326,7 +863,103 @@
7E1526C019D4E0020013F222 /* Marker Felt.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Marker Felt.ttf"; sourceTree = ""; };
7E273C7E19D9CE460029CCC0 /* Chapter2Level1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter2Level1.cpp; sourceTree = ""; };
7E273C7F19D9CE460029CCC0 /* Chapter2Level1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter2Level1.h; sourceTree = ""; };
- 7E4ED39E19DB4D78003A49C2 /* clouds_1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = clouds_1.png; sourceTree = ""; };
+ 7E35329019F06ECB0080126B /* Blue_Back1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Back1.png; path = chapter4/Blue_Back1.png; sourceTree = ""; };
+ 7E35329119F06ECB0080126B /* Blue_Back2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Back2.png; path = chapter4/Blue_Back2.png; sourceTree = ""; };
+ 7E35329219F06ECB0080126B /* Blue_Back3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Back3.png; path = chapter4/Blue_Back3.png; sourceTree = ""; };
+ 7E35329319F06ECB0080126B /* Blue_Front1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Front1.png; path = chapter4/Blue_Front1.png; sourceTree = ""; };
+ 7E35329419F06ECB0080126B /* Blue_Front2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Front2.png; path = chapter4/Blue_Front2.png; sourceTree = ""; };
+ 7E35329519F06ECB0080126B /* Blue_Front3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Front3.png; path = chapter4/Blue_Front3.png; sourceTree = ""; };
+ 7E35329619F06ECB0080126B /* Blue_Left1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Left1.png; path = chapter4/Blue_Left1.png; sourceTree = ""; };
+ 7E35329719F06ECB0080126B /* Blue_Left2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Left2.png; path = chapter4/Blue_Left2.png; sourceTree = ""; };
+ 7E35329819F06ECB0080126B /* Blue_Left3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Left3.png; path = chapter4/Blue_Left3.png; sourceTree = ""; };
+ 7E35329919F06ECB0080126B /* Blue_Right1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Right1.png; path = chapter4/Blue_Right1.png; sourceTree = ""; };
+ 7E35329A19F06ECB0080126B /* Blue_Right2.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Right2.png; path = chapter4/Blue_Right2.png; sourceTree = ""; };
+ 7E35329B19F06ECB0080126B /* Blue_Right3.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Right3.png; path = chapter4/Blue_Right3.png; sourceTree = ""; };
+ 7E5367DA19EAD7F2005C3C64 /* arx.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = arx.png; path = chapter9/arx.png; sourceTree = ""; };
+ 7E5367DB19EAD7F2005C3C64 /* axe.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; name = axe.c3b; path = chapter9/axe.c3b; sourceTree = ""; };
+ 7E5367DC19EAD7F2005C3C64 /* Blue_Front1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Blue_Front1.png; path = chapter9/Blue_Front1.png; sourceTree = ""; };
+ 7E5367DD19EAD7F2005C3C64 /* body.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = body.png; path = chapter9/body.png; sourceTree = ""; };
+ 7E5367DE19EAD7F2005C3C64 /* boss.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; name = boss.c3b; path = chapter9/boss.c3b; sourceTree = ""; };
+ 7E5367DF19EAD7F2005C3C64 /* boss.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = boss.png; path = chapter9/boss.png; sourceTree = ""; };
+ 7E5367E019EAD7F2005C3C64 /* CloseNormal.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = CloseNormal.png; path = chapter9/CloseNormal.png; sourceTree = ""; };
+ 7E5367E119EAD7F2005C3C64 /* CloseSelected.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = CloseSelected.png; path = chapter9/CloseSelected.png; sourceTree = ""; };
+ 7E5367E319EAD7F2005C3C64 /* Marker Felt.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Marker Felt.ttf"; sourceTree = ""; };
+ 7E5367E419EAD7F2005C3C64 /* Girl_Face.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_Face.png; path = chapter9/Girl_Face.png; sourceTree = ""; };
+ 7E5367E519EAD7F2005C3C64 /* Girl_Glasses01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_Glasses01.png; path = chapter9/Girl_Glasses01.png; sourceTree = ""; };
+ 7E5367E619EAD7F2005C3C64 /* Girl_Hair01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_Hair01.png; path = chapter9/Girl_Hair01.png; sourceTree = ""; };
+ 7E5367E719EAD7F2005C3C64 /* Girl_Hair02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_Hair02.png; path = chapter9/Girl_Hair02.png; sourceTree = ""; };
+ 7E5367E819EAD7F2005C3C64 /* Girl_Hand.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_Hand.png; path = chapter9/Girl_Hand.png; sourceTree = ""; };
+ 7E5367E919EAD7F2005C3C64 /* Girl_LowerBody01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_LowerBody01.png; path = chapter9/Girl_LowerBody01.png; sourceTree = ""; };
+ 7E5367EA19EAD7F2005C3C64 /* Girl_LowerBody02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_LowerBody02.png; path = chapter9/Girl_LowerBody02.png; sourceTree = ""; };
+ 7E5367EB19EAD7F2005C3C64 /* Girl_Shoes01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_Shoes01.png; path = chapter9/Girl_Shoes01.png; sourceTree = ""; };
+ 7E5367EC19EAD7F2005C3C64 /* Girl_Shoes02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_Shoes02.png; path = chapter9/Girl_Shoes02.png; sourceTree = ""; };
+ 7E5367ED19EAD7F2005C3C64 /* Girl_UpperBody01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_UpperBody01.png; path = chapter9/Girl_UpperBody01.png; sourceTree = ""; };
+ 7E5367EE19EAD7F2005C3C64 /* Girl_UpperBody02.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Girl_UpperBody02.png; path = chapter9/Girl_UpperBody02.png; sourceTree = ""; };
+ 7E5367EF19EAD7F2005C3C64 /* girl.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; name = girl.c3b; path = chapter9/girl.c3b; sourceTree = ""; };
+ 7E5367F019EAD7F2005C3C64 /* HelloWorld.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = HelloWorld.png; path = chapter9/HelloWorld.png; sourceTree = ""; };
+ 7E5367F119EAD7F2005C3C64 /* monguger.tga */ = {isa = PBXFileReference; lastKnownFileType = file; name = monguger.tga; path = chapter9/monguger.tga; sourceTree = ""; };
+ 7E5367F219EAD7F2005C3C64 /* orc.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; name = orc.c3b; path = chapter9/orc.c3b; sourceTree = ""; };
+ 7E5367F319EAD7F2005C3C64 /* ReskinGirl.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; name = ReskinGirl.c3b; path = chapter9/ReskinGirl.c3b; sourceTree = ""; };
+ 7E5367F419EAD7F2005C3C64 /* tortoise.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; name = tortoise.c3b; path = chapter9/tortoise.c3b; sourceTree = ""; };
+ 7E5367F519EAD7F2005C3C64 /* tortoise.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = tortoise.png; path = chapter9/tortoise.png; sourceTree = ""; };
+ 7E5367F619EAD7F2005C3C64 /* Xie_01.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = Xie_01.png; path = chapter9/Xie_01.png; sourceTree = ""; };
+ 7E5367F719EAD7F2005C3C64 /* zhujue_jian.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = zhujue_jian.png; path = chapter9/zhujue_jian.png; sourceTree = ""; };
+ 7E5367F819EAD7F2005C3C64 /* zhujue.c3b */ = {isa = PBXFileReference; lastKnownFileType = file; name = zhujue.c3b; path = chapter9/zhujue.c3b; sourceTree = ""; };
+ 7E5367F919EAD7F2005C3C64 /* zhujue.c3t */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = zhujue.c3t; path = chapter9/zhujue.c3t; sourceTree = ""; };
+ 7E5367FA19EAD7F2005C3C64 /* zhujue.FBX */ = {isa = PBXFileReference; lastKnownFileType = file; name = zhujue.FBX; path = chapter9/zhujue.FBX; sourceTree = ""; };
+ 7E5367FB19EAD7F2005C3C64 /* zhujue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = zhujue.png; path = chapter9/zhujue.png; sourceTree = ""; };
+ 7E53686B19EAD894005C3C64 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppDelegate.cpp; path = chapter9/AppDelegate.cpp; sourceTree = ""; };
+ 7E53686C19EAD894005C3C64 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = chapter9/AppDelegate.h; sourceTree = ""; };
+ 7E53686D19EAD894005C3C64 /* Chapter9_1.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_1.cpp; path = chapter9/Chapter9_1.cpp; sourceTree = ""; };
+ 7E53686E19EAD894005C3C64 /* Chapter9_1.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_1.h; path = chapter9/Chapter9_1.h; sourceTree = ""; };
+ 7E53686F19EAD894005C3C64 /* Chapter9_2.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_2.cpp; path = chapter9/Chapter9_2.cpp; sourceTree = ""; };
+ 7E53687019EAD894005C3C64 /* Chapter9_2.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_2.h; path = chapter9/Chapter9_2.h; sourceTree = ""; };
+ 7E53687119EAD894005C3C64 /* Chapter9_3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_3.cpp; path = chapter9/Chapter9_3.cpp; sourceTree = ""; };
+ 7E53687219EAD894005C3C64 /* Chapter9_3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_3.h; path = chapter9/Chapter9_3.h; sourceTree = ""; };
+ 7E53687319EAD894005C3C64 /* Chapter9_4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_4.cpp; path = chapter9/Chapter9_4.cpp; sourceTree = ""; };
+ 7E53687419EAD894005C3C64 /* Chapter9_4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_4.h; path = chapter9/Chapter9_4.h; sourceTree = ""; };
+ 7E53687519EAD894005C3C64 /* Chapter9_5.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_5.cpp; path = chapter9/Chapter9_5.cpp; sourceTree = ""; };
+ 7E53687619EAD894005C3C64 /* Chapter9_5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_5.h; path = chapter9/Chapter9_5.h; sourceTree = ""; };
+ 7E53687719EAD894005C3C64 /* Chapter9_6.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_6.cpp; path = chapter9/Chapter9_6.cpp; sourceTree = ""; };
+ 7E53687819EAD894005C3C64 /* Chapter9_6.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_6.h; path = chapter9/Chapter9_6.h; sourceTree = ""; };
+ 7E53687919EAD894005C3C64 /* Chapter9_7.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_7.cpp; path = chapter9/Chapter9_7.cpp; sourceTree = ""; };
+ 7E53687A19EAD894005C3C64 /* Chapter9_7.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_7.h; path = chapter9/Chapter9_7.h; sourceTree = ""; };
+ 7E53687B19EAD894005C3C64 /* Chapter9_8.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9_8.cpp; path = chapter9/Chapter9_8.cpp; sourceTree = ""; };
+ 7E53687C19EAD894005C3C64 /* Chapter9_8.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9_8.h; path = chapter9/Chapter9_8.h; sourceTree = ""; };
+ 7E53687D19EAD894005C3C64 /* Chapter9.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter9.cpp; path = chapter9/Chapter9.cpp; sourceTree = ""; };
+ 7E53687E19EAD894005C3C64 /* Chapter9.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter9.h; path = chapter9/Chapter9.h; sourceTree = ""; };
+ 7E53687F19EAD894005C3C64 /* DrawNode3D.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DrawNode3D.cpp; path = chapter9/DrawNode3D.cpp; sourceTree = ""; };
+ 7E53688019EAD894005C3C64 /* DrawNode3D.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DrawNode3D.h; path = chapter9/DrawNode3D.h; sourceTree = ""; };
+ 7E5368DF19EC20DE005C3C64 /* Chapter 3 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 3 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E53692019EC228B005C3C64 /* Chapter 4 iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 4 iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E53694419EC22F4005C3C64 /* Chapter 4 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 4 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E53694619EC234D005C3C64 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppDelegate.cpp; path = chapter4/AppDelegate.cpp; sourceTree = ""; };
+ 7E53694719EC234D005C3C64 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = chapter4/AppDelegate.h; sourceTree = ""; };
+ 7E53694819EC234D005C3C64 /* Chapter4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter4.cpp; path = chapter4/Chapter4.cpp; sourceTree = ""; };
+ 7E53694919EC234D005C3C64 /* Chapter4.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter4.h; path = chapter4/Chapter4.h; sourceTree = ""; };
+ 7E914A6E1A1BC3F200C6B2D4 /* Chapter 5 iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 5 iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E914A8B1A1BC40200C6B2D4 /* Chapter 5 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 5 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E914A8E1A1BC8F500C6B2D4 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; };
+ 7E914A8F1A1BC8F500C6B2D4 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 7E914A901A1BC8F500C6B2D4 /* Chapter5.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter5.cpp; sourceTree = ""; };
+ 7E914A911A1BC8F500C6B2D4 /* Chapter5.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter5.h; sourceTree = ""; };
+ 7E9571D119F1938B00F6AE44 /* Chapter 8 iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 8 iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E9571FF19F196D200F6AE44 /* Chapter 8 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 8 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E95722A19F197BA00F6AE44 /* Chapter 13 iOS.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 13 iOS.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E95724319F197F500F6AE44 /* Chapter 13 Mac.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 13 Mac.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7E95724519F1983600F6AE44 /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AppDelegate.cpp; path = chapter13/AppDelegate.cpp; sourceTree = ""; };
+ 7E95724619F1983600F6AE44 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AppDelegate.h; path = chapter13/AppDelegate.h; sourceTree = ""; };
+ 7E95724719F1983600F6AE44 /* Chapter13.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Chapter13.cpp; path = chapter13/Chapter13.cpp; sourceTree = ""; };
+ 7E95724819F1983600F6AE44 /* Chapter13.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Chapter13.h; path = chapter13/Chapter13.h; sourceTree = ""; };
+ 7E95724E19F1993300F6AE44 /* alert.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = alert.mp3; path = chapter13/alert.mp3; sourceTree = ""; };
+ 7E95724F19F1993300F6AE44 /* music.mp3 */ = {isa = PBXFileReference; lastKnownFileType = audio.mp3; name = music.mp3; path = chapter13/music.mp3; sourceTree = ""; };
+ 7EBF317219E7803F00A7FBEA /* Chapter 3.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chapter 3.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7EBF317519E7807500A7FBEA /* AppDelegate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AppDelegate.cpp; sourceTree = ""; };
+ 7EBF317619E7807500A7FBEA /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 7EBF317E19E843F100A7FBEA /* Chapter3.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Chapter3.cpp; sourceTree = ""; };
+ 7EBF317F19E843F100A7FBEA /* Chapter3.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Chapter3.h; sourceTree = ""; };
+ 7EBF318119E8485600A7FBEA /* Chapter 3 iOS-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "Chapter 3 iOS-Info.plist"; sourceTree = SOURCE_ROOT; };
+ 7EC0CFC819ECD2FD00C41BDA /* dot.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = dot.png; sourceTree = ""; };
BF170DB012928DE900B8313A /* OpenGLES.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = OpenGLES.framework; path = System/Library/Frameworks/OpenGLES.framework; sourceTree = SDKROOT; };
BF170DB412928DE900B8313A /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
BF1C47EA1293683800B63C5D /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = System/Library/Frameworks/QuartzCore.framework; sourceTree = SDKROOT; };
@@ -355,6 +988,78 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 296358E219F78D4F003732AB /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 296358E319F78D4F003732AB /* libcocos2d iOS.a in Frameworks */,
+ 296358E419F78D4F003732AB /* CoreMotion.framework in Frameworks */,
+ 296358E519F78D4F003732AB /* Foundation.framework in Frameworks */,
+ 296358E619F78D4F003732AB /* UIKit.framework in Frameworks */,
+ 296358E719F78D4F003732AB /* CoreGraphics.framework in Frameworks */,
+ 296358E819F78D4F003732AB /* OpenGLES.framework in Frameworks */,
+ 296358E919F78D4F003732AB /* libz.dylib in Frameworks */,
+ 296358EA19F78D4F003732AB /* QuartzCore.framework in Frameworks */,
+ 296358EB19F78D4F003732AB /* OpenAL.framework in Frameworks */,
+ 296358EC19F78D4F003732AB /* AVFoundation.framework in Frameworks */,
+ 296358ED19F78D4F003732AB /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 2963593319F78F74003732AB /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 2963593419F78F74003732AB /* libcocos2d Mac.a in Frameworks */,
+ 2963593519F78F74003732AB /* libcurl.dylib in Frameworks */,
+ 2963593619F78F74003732AB /* libz.dylib in Frameworks */,
+ 2963593719F78F74003732AB /* IOKit.framework in Frameworks */,
+ 2963593819F78F74003732AB /* OpenGL.framework in Frameworks */,
+ 2963593919F78F74003732AB /* AppKit.framework in Frameworks */,
+ 2963593A19F78F74003732AB /* Foundation.framework in Frameworks */,
+ 2963593B19F78F74003732AB /* QuartzCore.framework in Frameworks */,
+ 2963593C19F78F74003732AB /* OpenAL.framework in Frameworks */,
+ 2963593D19F78F74003732AB /* AVFoundation.framework in Frameworks */,
+ 2963593E19F78F74003732AB /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 3EE7F8DD19ED607500448914 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3EE7F8DE19ED607500448914 /* libcocos2d iOS.a in Frameworks */,
+ 3EE7F8DF19ED607500448914 /* CoreMotion.framework in Frameworks */,
+ 3EE7F8E019ED607500448914 /* Foundation.framework in Frameworks */,
+ 3EE7F8E119ED607500448914 /* UIKit.framework in Frameworks */,
+ 3EE7F8E219ED607500448914 /* CoreGraphics.framework in Frameworks */,
+ 3EE7F8E319ED607500448914 /* OpenGLES.framework in Frameworks */,
+ 3EE7F8E419ED607500448914 /* libz.dylib in Frameworks */,
+ 3EE7F8E519ED607500448914 /* QuartzCore.framework in Frameworks */,
+ 3EE7F8E619ED607500448914 /* OpenAL.framework in Frameworks */,
+ 3EE7F8E719ED607500448914 /* AVFoundation.framework in Frameworks */,
+ 3EE7F8E819ED607500448914 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 3EE7F8FE19ED607800448914 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3EE7F8FF19ED607800448914 /* libcocos2d Mac.a in Frameworks */,
+ 3EE7F90019ED607800448914 /* libcurl.dylib in Frameworks */,
+ 3EE7F90119ED607800448914 /* libz.dylib in Frameworks */,
+ 3EE7F90219ED607800448914 /* IOKit.framework in Frameworks */,
+ 3EE7F90319ED607800448914 /* OpenGL.framework in Frameworks */,
+ 3EE7F90419ED607800448914 /* AppKit.framework in Frameworks */,
+ 3EE7F90519ED607800448914 /* Foundation.framework in Frameworks */,
+ 3EE7F90619ED607800448914 /* QuartzCore.framework in Frameworks */,
+ 3EE7F90719ED607800448914 /* OpenAL.framework in Frameworks */,
+ 3EE7F90819ED607800448914 /* AVFoundation.framework in Frameworks */,
+ 3EE7F90919ED607800448914 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
5087E75C17EB910900C73F5D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
@@ -409,12 +1114,193 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 7E5368D019EC20DE005C3C64 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E5368D119EC20DE005C3C64 /* libcocos2d Mac.a in Frameworks */,
+ 7E5368D219EC20DE005C3C64 /* libcurl.dylib in Frameworks */,
+ 7E5368D319EC20DE005C3C64 /* libz.dylib in Frameworks */,
+ 7E5368D419EC20DE005C3C64 /* IOKit.framework in Frameworks */,
+ 7E5368D519EC20DE005C3C64 /* OpenGL.framework in Frameworks */,
+ 7E5368D619EC20DE005C3C64 /* AppKit.framework in Frameworks */,
+ 7E5368D719EC20DE005C3C64 /* Foundation.framework in Frameworks */,
+ 7E5368D819EC20DE005C3C64 /* QuartzCore.framework in Frameworks */,
+ 7E5368D919EC20DE005C3C64 /* OpenAL.framework in Frameworks */,
+ 7E5368DA19EC20DE005C3C64 /* AVFoundation.framework in Frameworks */,
+ 7E5368DB19EC20DE005C3C64 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E53691119EC228B005C3C64 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E53691219EC228B005C3C64 /* libcocos2d iOS.a in Frameworks */,
+ 7E53691319EC228B005C3C64 /* CoreMotion.framework in Frameworks */,
+ 7E53691419EC228B005C3C64 /* Foundation.framework in Frameworks */,
+ 7E53691519EC228B005C3C64 /* UIKit.framework in Frameworks */,
+ 7E53691619EC228B005C3C64 /* CoreGraphics.framework in Frameworks */,
+ 7E53691719EC228B005C3C64 /* OpenGLES.framework in Frameworks */,
+ 7E53691819EC228B005C3C64 /* libz.dylib in Frameworks */,
+ 7E53691919EC228B005C3C64 /* QuartzCore.framework in Frameworks */,
+ 7E53691A19EC228B005C3C64 /* OpenAL.framework in Frameworks */,
+ 7E53691B19EC228B005C3C64 /* AVFoundation.framework in Frameworks */,
+ 7E53691C19EC228B005C3C64 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E53693519EC22F4005C3C64 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E53693619EC22F4005C3C64 /* libcocos2d Mac.a in Frameworks */,
+ 7E53693719EC22F4005C3C64 /* libcurl.dylib in Frameworks */,
+ 7E53693819EC22F4005C3C64 /* libz.dylib in Frameworks */,
+ 7E53693919EC22F4005C3C64 /* IOKit.framework in Frameworks */,
+ 7E53693A19EC22F4005C3C64 /* OpenGL.framework in Frameworks */,
+ 7E53693B19EC22F4005C3C64 /* AppKit.framework in Frameworks */,
+ 7E53693C19EC22F4005C3C64 /* Foundation.framework in Frameworks */,
+ 7E53693D19EC22F4005C3C64 /* QuartzCore.framework in Frameworks */,
+ 7E53693E19EC22F4005C3C64 /* OpenAL.framework in Frameworks */,
+ 7E53693F19EC22F4005C3C64 /* AVFoundation.framework in Frameworks */,
+ 7E53694019EC22F4005C3C64 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E914A5F1A1BC3F200C6B2D4 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E914A601A1BC3F200C6B2D4 /* libcocos2d iOS.a in Frameworks */,
+ 7E914A611A1BC3F200C6B2D4 /* CoreMotion.framework in Frameworks */,
+ 7E914A621A1BC3F200C6B2D4 /* Foundation.framework in Frameworks */,
+ 7E914A631A1BC3F200C6B2D4 /* UIKit.framework in Frameworks */,
+ 7E914A641A1BC3F200C6B2D4 /* CoreGraphics.framework in Frameworks */,
+ 7E914A651A1BC3F200C6B2D4 /* OpenGLES.framework in Frameworks */,
+ 7E914A661A1BC3F200C6B2D4 /* libz.dylib in Frameworks */,
+ 7E914A671A1BC3F200C6B2D4 /* QuartzCore.framework in Frameworks */,
+ 7E914A681A1BC3F200C6B2D4 /* OpenAL.framework in Frameworks */,
+ 7E914A691A1BC3F200C6B2D4 /* AVFoundation.framework in Frameworks */,
+ 7E914A6A1A1BC3F200C6B2D4 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E914A7C1A1BC40200C6B2D4 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E914A7D1A1BC40200C6B2D4 /* libcocos2d Mac.a in Frameworks */,
+ 7E914A7E1A1BC40200C6B2D4 /* libcurl.dylib in Frameworks */,
+ 7E914A7F1A1BC40200C6B2D4 /* libz.dylib in Frameworks */,
+ 7E914A801A1BC40200C6B2D4 /* IOKit.framework in Frameworks */,
+ 7E914A811A1BC40200C6B2D4 /* OpenGL.framework in Frameworks */,
+ 7E914A821A1BC40200C6B2D4 /* AppKit.framework in Frameworks */,
+ 7E914A831A1BC40200C6B2D4 /* Foundation.framework in Frameworks */,
+ 7E914A841A1BC40200C6B2D4 /* QuartzCore.framework in Frameworks */,
+ 7E914A851A1BC40200C6B2D4 /* OpenAL.framework in Frameworks */,
+ 7E914A861A1BC40200C6B2D4 /* AVFoundation.framework in Frameworks */,
+ 7E914A871A1BC40200C6B2D4 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E9571C219F1938B00F6AE44 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E9571C319F1938B00F6AE44 /* libcocos2d iOS.a in Frameworks */,
+ 7E9571C419F1938B00F6AE44 /* CoreMotion.framework in Frameworks */,
+ 7E9571C519F1938B00F6AE44 /* Foundation.framework in Frameworks */,
+ 7E9571C619F1938B00F6AE44 /* UIKit.framework in Frameworks */,
+ 7E9571C719F1938B00F6AE44 /* CoreGraphics.framework in Frameworks */,
+ 7E9571C819F1938B00F6AE44 /* OpenGLES.framework in Frameworks */,
+ 7E9571C919F1938B00F6AE44 /* libz.dylib in Frameworks */,
+ 7E9571CA19F1938B00F6AE44 /* QuartzCore.framework in Frameworks */,
+ 7E9571CB19F1938B00F6AE44 /* OpenAL.framework in Frameworks */,
+ 7E9571CC19F1938B00F6AE44 /* AVFoundation.framework in Frameworks */,
+ 7E9571CD19F1938B00F6AE44 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E9571F019F196D200F6AE44 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E9571F119F196D200F6AE44 /* libcocos2d Mac.a in Frameworks */,
+ 7E9571F219F196D200F6AE44 /* libcurl.dylib in Frameworks */,
+ 7E9571F319F196D200F6AE44 /* libz.dylib in Frameworks */,
+ 7E9571F419F196D200F6AE44 /* IOKit.framework in Frameworks */,
+ 7E9571F519F196D200F6AE44 /* OpenGL.framework in Frameworks */,
+ 7E9571F619F196D200F6AE44 /* AppKit.framework in Frameworks */,
+ 7E9571F719F196D200F6AE44 /* Foundation.framework in Frameworks */,
+ 7E9571F819F196D200F6AE44 /* QuartzCore.framework in Frameworks */,
+ 7E9571F919F196D200F6AE44 /* OpenAL.framework in Frameworks */,
+ 7E9571FA19F196D200F6AE44 /* AVFoundation.framework in Frameworks */,
+ 7E9571FB19F196D200F6AE44 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E95721B19F197BA00F6AE44 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E95721C19F197BA00F6AE44 /* libcocos2d iOS.a in Frameworks */,
+ 7E95721D19F197BA00F6AE44 /* CoreMotion.framework in Frameworks */,
+ 7E95721E19F197BA00F6AE44 /* Foundation.framework in Frameworks */,
+ 7E95721F19F197BA00F6AE44 /* UIKit.framework in Frameworks */,
+ 7E95722019F197BA00F6AE44 /* CoreGraphics.framework in Frameworks */,
+ 7E95722119F197BA00F6AE44 /* OpenGLES.framework in Frameworks */,
+ 7E95722219F197BA00F6AE44 /* libz.dylib in Frameworks */,
+ 7E95722319F197BA00F6AE44 /* QuartzCore.framework in Frameworks */,
+ 7E95722419F197BA00F6AE44 /* OpenAL.framework in Frameworks */,
+ 7E95722519F197BA00F6AE44 /* AVFoundation.framework in Frameworks */,
+ 7E95722619F197BA00F6AE44 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E95723419F197F500F6AE44 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E95723519F197F500F6AE44 /* libcocos2d Mac.a in Frameworks */,
+ 7E95723619F197F500F6AE44 /* libcurl.dylib in Frameworks */,
+ 7E95723719F197F500F6AE44 /* libz.dylib in Frameworks */,
+ 7E95723819F197F500F6AE44 /* IOKit.framework in Frameworks */,
+ 7E95723919F197F500F6AE44 /* OpenGL.framework in Frameworks */,
+ 7E95723A19F197F500F6AE44 /* AppKit.framework in Frameworks */,
+ 7E95723B19F197F500F6AE44 /* Foundation.framework in Frameworks */,
+ 7E95723C19F197F500F6AE44 /* QuartzCore.framework in Frameworks */,
+ 7E95723D19F197F500F6AE44 /* OpenAL.framework in Frameworks */,
+ 7E95723E19F197F500F6AE44 /* AVFoundation.framework in Frameworks */,
+ 7E95723F19F197F500F6AE44 /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7EBF316319E7803F00A7FBEA /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7EBF316419E7803F00A7FBEA /* libcocos2d iOS.a in Frameworks */,
+ 7EBF316519E7803F00A7FBEA /* CoreMotion.framework in Frameworks */,
+ 7EBF316619E7803F00A7FBEA /* Foundation.framework in Frameworks */,
+ 7EBF316719E7803F00A7FBEA /* UIKit.framework in Frameworks */,
+ 7EBF316819E7803F00A7FBEA /* CoreGraphics.framework in Frameworks */,
+ 7EBF316919E7803F00A7FBEA /* OpenGLES.framework in Frameworks */,
+ 7EBF316A19E7803F00A7FBEA /* libz.dylib in Frameworks */,
+ 7EBF316B19E7803F00A7FBEA /* QuartzCore.framework in Frameworks */,
+ 7EBF316C19E7803F00A7FBEA /* OpenAL.framework in Frameworks */,
+ 7EBF316D19E7803F00A7FBEA /* AVFoundation.framework in Frameworks */,
+ 7EBF316E19E7803F00A7FBEA /* AudioToolbox.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
080E96DDFE201D6D7F000001 /* ios */ = {
isa = PBXGroup;
children = (
+ 7EBF318119E8485600A7FBEA /* Chapter 3 iOS-Info.plist */,
5087E77117EB970100C73F5D /* Icons */,
503AE0FA17EB989F00D1A890 /* AppController.h */,
503AE0FB17EB989F00D1A890 /* AppController.mm */,
@@ -430,14 +1316,66 @@
19C28FACFE9D520D11CA2CBB /* Products */ = {
isa = PBXGroup;
children = (
- 1D6058910D05DD3D006BFB54 /* Programmers Guide iOS.app */,
- 5087E76F17EB910900C73F5D /* Programmers Guide Mac.app */,
- 50BA59DF19D4992C0070A133 /* Chapter 2 iOS copy.app */,
- 50BA59FD19D499360070A133 /* Chapter 2 Mac copy.app */,
+ 1D6058910D05DD3D006BFB54 /* Chapter 2.app */,
+ 5087E76F17EB910900C73F5D /* Chapter 2 Mac.app */,
+ 50BA59DF19D4992C0070A133 /* Chapter 9 iOS.app */,
+ 50BA59FD19D499360070A133 /* Chapter 9 Mac.app */,
+ 7EBF317219E7803F00A7FBEA /* Chapter 3.app */,
+ 7E5368DF19EC20DE005C3C64 /* Chapter 3 Mac.app */,
+ 7E53692019EC228B005C3C64 /* Chapter 4 iOS.app */,
+ 7E53694419EC22F4005C3C64 /* Chapter 4 Mac.app */,
+ 3EE7F8EC19ED607500448914 /* Chapter 12 iOS.app */,
+ 3EE7F90D19ED607800448914 /* Chapter 12 Mac.app */,
+ 7E9571D119F1938B00F6AE44 /* Chapter 8 iOS.app */,
+ 7E9571FF19F196D200F6AE44 /* Chapter 8 Mac.app */,
+ 7E95722A19F197BA00F6AE44 /* Chapter 13 iOS.app */,
+ 7E95724319F197F500F6AE44 /* Chapter 13 Mac.app */,
+ 296358F119F78D4F003732AB /* Chapter 6 iOS.app */,
+ 2963594219F78F74003732AB /* Chapter 6 Mac.app */,
+ 7E914A6E1A1BC3F200C6B2D4 /* Chapter 5 iOS.app */,
+ 7E914A8B1A1BC40200C6B2D4 /* Chapter 5 Mac.app */,
);
name = Products;
sourceTree = "";
};
+ 296358F319F78D6F003732AB /* chapter6 */ = {
+ isa = PBXGroup;
+ children = (
+ 296358F419F78D81003732AB /* AppDelegate.cpp */,
+ 296358F519F78D81003732AB /* AppDelegate.h */,
+ 296358F619F78D81003732AB /* Chapter6.cpp */,
+ 296358F719F78D81003732AB /* Chapter6.h */,
+ );
+ name = chapter6;
+ sourceTree = "";
+ };
+ 296358FC19F78ED4003732AB /* chapter6 */ = {
+ isa = PBXGroup;
+ children = (
+ 296358FD19F78ED4003732AB /* fonts */,
+ 2963590219F78ED4003732AB /* leftNormal.png */,
+ 2963590319F78ED4003732AB /* leftSelected.png */,
+ 2963590419F78ED4003732AB /* menuItemSpriteNormal.png */,
+ 2963590519F78ED4003732AB /* menuItemSpriteSelected.png */,
+ 2963590619F78ED4003732AB /* restartNormal.png */,
+ 2963590719F78ED4003732AB /* restartSelected.png */,
+ 2963590819F78ED4003732AB /* rightNormal.png */,
+ 2963590919F78ED4003732AB /* rightSelected.png */,
+ );
+ path = chapter6;
+ sourceTree = "";
+ };
+ 296358FD19F78ED4003732AB /* fonts */ = {
+ isa = PBXGroup;
+ children = (
+ 296358FE19F78ED4003732AB /* arial.ttf */,
+ 296358FF19F78ED4003732AB /* bitmapFontTest.fnt */,
+ 2963590019F78ED4003732AB /* bitmapFontTest.png */,
+ 2963590119F78ED4003732AB /* labelatlasimg.png */,
+ );
+ path = fonts;
+ sourceTree = "";
+ };
29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
isa = PBXGroup;
children = (
@@ -448,8 +1386,6 @@
080E96DDFE201D6D7F000001 /* ios */,
503AE10617EB990700D1A890 /* mac */,
19C28FACFE9D520D11CA2CBB /* Products */,
- 50BA59E019D4992C0070A133 /* Chapter 2 iOS copy-Info.plist */,
- 50BA59FE19D499360070A133 /* Chapter 2 Mac copy-Info.plist */,
);
name = CustomTemplate;
sourceTree = "";
@@ -476,6 +1412,17 @@
name = Frameworks;
sourceTree = "";
};
+ 3EE7F90F19ED60DF00448914 /* chapter12 */ = {
+ isa = PBXGroup;
+ children = (
+ 3EE7F91019ED60DF00448914 /* AppDelegate.cpp */,
+ 3EE7F91119ED60DF00448914 /* AppDelegate.h */,
+ 3EE7F91219ED60DF00448914 /* Chapter12.cpp */,
+ 3EE7F91319ED60DF00448914 /* Chapter12.h */,
+ );
+ path = chapter12;
+ sourceTree = "";
+ };
503AE0F517EB97AB00D1A890 /* Icons */ = {
isa = PBXGroup;
children = (
@@ -534,7 +1481,14 @@
isa = PBXGroup;
children = (
50BA599919D493310070A133 /* chapter2 */,
- 50BA59FF19D49A2F0070A133 /* chapter10 */,
+ 7EBF317419E7807500A7FBEA /* chapter3 */,
+ 7E53689C19EC20C8005C3C64 /* chapter4 */,
+ 7E914A8D1A1BC8F500C6B2D4 /* chapter5 */,
+ 296358F319F78D6F003732AB /* chapter6 */,
+ 7E95720119F1972600F6AE44 /* chapter8 */,
+ 7E53686A19EAD87E005C3C64 /* chapter9 */,
+ 3EE7F90F19ED60DF00448914 /* chapter12 */,
+ 7E95719D19F1884800F6AE44 /* chapter13 */,
);
name = src;
path = ../src;
@@ -556,99 +1510,203 @@
50BA59A419D498F00070A133 /* chapter2 */ = {
isa = PBXGroup;
children = (
- 7E4ED39E19DB4D78003A49C2 /* clouds_1.png */,
7E1526AE19D4DE890013F222 /* Blue_Front1.png */,
- 7E1526AF19D4DE890013F222 /* HelloWorld.png */,
7E1526B019D4DE890013F222 /* LightBlue_Front1.png */,
7E1526B119D4DE890013F222 /* White_Front1.png */,
7E1526B219D4DE890013F222 /* ZigzagForest_Square.png */,
7E1526B319D4DE890013F222 /* ZigzagGrass_Mud_Round.png */,
- 50BA59A719D498F00070A133 /* fonts */,
);
path = chapter2;
sourceTree = "";
};
- 50BA59A719D498F00070A133 /* fonts */ = {
+ 50C48A8B19D48B48008185B1 /* res */ = {
+ isa = PBXGroup;
+ children = (
+ 296358FC19F78ED4003732AB /* chapter6 */,
+ 7EC0CFC819ECD2FD00C41BDA /* dot.png */,
+ 50BA59A419D498F00070A133 /* chapter2 */,
+ 7E53689719EB4016005C3C64 /* chapter3 */,
+ 7E35328F19F06EB40080126B /* chapter4 */,
+ 7E1526C019D4E0020013F222 /* Marker Felt.ttf */,
+ 7E5367D919EAD7DC005C3C64 /* chapter9 */,
+ 3EE7F91819ED60F200448914 /* chapter12 */,
+ 7E95724D19F1991E00F6AE44 /* chapter13 */,
+ );
+ name = res;
+ path = ../res;
+ sourceTree = "";
+ };
+ 7E35328F19F06EB40080126B /* chapter4 */ = {
isa = PBXGroup;
children = (
- 50BA59A819D498F00070A133 /* Marker Felt.ttf */,
+ 7E35329019F06ECB0080126B /* Blue_Back1.png */,
+ 7E35329119F06ECB0080126B /* Blue_Back2.png */,
+ 7E35329219F06ECB0080126B /* Blue_Back3.png */,
+ 7E35329319F06ECB0080126B /* Blue_Front1.png */,
+ 7E35329419F06ECB0080126B /* Blue_Front2.png */,
+ 7E35329519F06ECB0080126B /* Blue_Front3.png */,
+ 7E35329619F06ECB0080126B /* Blue_Left1.png */,
+ 7E35329719F06ECB0080126B /* Blue_Left2.png */,
+ 7E35329819F06ECB0080126B /* Blue_Left3.png */,
+ 7E35329919F06ECB0080126B /* Blue_Right1.png */,
+ 7E35329A19F06ECB0080126B /* Blue_Right2.png */,
+ 7E35329B19F06ECB0080126B /* Blue_Right3.png */,
);
- path = fonts;
+ name = chapter4;
sourceTree = "";
};
- 50BA59FF19D49A2F0070A133 /* chapter10 */ = {
+ 7E5367D919EAD7DC005C3C64 /* chapter9 */ = {
isa = PBXGroup;
children = (
- 5E453FA219E6309600AB3A5D /* Chapter10_4.cpp */,
- 5E453FA319E6309600AB3A5D /* Chapter10_4.h */,
- 5EAA122B19E7E69600B5D2BA /* Chapter10_6.cpp */,
- 5EAA122C19E7E69600B5D2BA /* Chapter10_6.h */,
- 5E5874DB19E8DCB0009744B7 /* Chapter10_7.cpp */,
- 5E5874DC19E8DCB0009744B7 /* Chapter10_7.h */,
- 5EAA122319E790B700B5D2BA /* Chapter10_5.cpp */,
- 5EAA122719E7D1E400B5D2BA /* DrawNode3D.cpp */,
- 5EAA122819E7D1E400B5D2BA /* DrawNode3D.h */,
- 5EAA122419E790B700B5D2BA /* Chapter10_5.h */,
- 5E453F7419E62AD000AB3A5D /* Chapter10_3.cpp */,
- 5E453F7519E62AD000AB3A5D /* Chapter10_3.h */,
- 5E453F6A19E5423D00AB3A5D /* Chapter10_2.cpp */,
- 5E453F6B19E5423D00AB3A5D /* Chapter10_2.h */,
- 5E453F5C19E5178500AB3A5D /* Chapter10_1.cpp */,
- 5E453F5D19E5178500AB3A5D /* Chapter10_1.h */,
- 50BA5A0019D49A2F0070A133 /* AppDelegate.cpp */,
- 50BA5A0119D49A2F0070A133 /* AppDelegate.h */,
- 50BA5A0219D49A2F0070A133 /* Chapter10.cpp */,
- 50BA5A0319D49A2F0070A133 /* Chapter10.h */,
- );
- path = chapter10;
+ 5E38D2C819F0F3FF0099B433 /* sphere.c3b */,
+ 5E38D2C919F0F3FF0099B433 /* spheretex.png */,
+ 7E5367DA19EAD7F2005C3C64 /* arx.png */,
+ 7E5367DB19EAD7F2005C3C64 /* axe.c3b */,
+ 5E4C83ED1A3EC4F900F65FA9 /* planetex.png */,
+ 7E5367DC19EAD7F2005C3C64 /* Blue_Front1.png */,
+ 7E5367DD19EAD7F2005C3C64 /* body.png */,
+ 7E5367DE19EAD7F2005C3C64 /* boss.c3b */,
+ 7E5367DF19EAD7F2005C3C64 /* boss.png */,
+ 7E5367E019EAD7F2005C3C64 /* CloseNormal.png */,
+ 7E5367E119EAD7F2005C3C64 /* CloseSelected.png */,
+ 7E5367E219EAD7F2005C3C64 /* fonts */,
+ 7E5367E419EAD7F2005C3C64 /* Girl_Face.png */,
+ 7E5367E519EAD7F2005C3C64 /* Girl_Glasses01.png */,
+ 7E5367E619EAD7F2005C3C64 /* Girl_Hair01.png */,
+ 5E4C83EA1A3EC4DA00F65FA9 /* plane.obj */,
+ 7E5367E719EAD7F2005C3C64 /* Girl_Hair02.png */,
+ 7E5367E819EAD7F2005C3C64 /* Girl_Hand.png */,
+ 7E5367E919EAD7F2005C3C64 /* Girl_LowerBody01.png */,
+ 7E5367EA19EAD7F2005C3C64 /* Girl_LowerBody02.png */,
+ 7E5367EB19EAD7F2005C3C64 /* Girl_Shoes01.png */,
+ 7E5367EC19EAD7F2005C3C64 /* Girl_Shoes02.png */,
+ 7E5367ED19EAD7F2005C3C64 /* Girl_UpperBody01.png */,
+ 7E5367EE19EAD7F2005C3C64 /* Girl_UpperBody02.png */,
+ 7E5367EF19EAD7F2005C3C64 /* girl.c3b */,
+ 7E5367F019EAD7F2005C3C64 /* HelloWorld.png */,
+ 7E5367F119EAD7F2005C3C64 /* monguger.tga */,
+ 7E5367F219EAD7F2005C3C64 /* orc.c3b */,
+ 7E5367F319EAD7F2005C3C64 /* ReskinGirl.c3b */,
+ 7E5367F419EAD7F2005C3C64 /* tortoise.c3b */,
+ 7E5367F519EAD7F2005C3C64 /* tortoise.png */,
+ 7E5367F619EAD7F2005C3C64 /* Xie_01.png */,
+ 7E5367F719EAD7F2005C3C64 /* zhujue_jian.png */,
+ 7E5367F819EAD7F2005C3C64 /* zhujue.c3b */,
+ 7E5367F919EAD7F2005C3C64 /* zhujue.c3t */,
+ 7E5367FA19EAD7F2005C3C64 /* zhujue.FBX */,
+ 7E5367FB19EAD7F2005C3C64 /* zhujue.png */,
+ );
+ name = chapter9;
sourceTree = "";
};
- 50BA5A0819D49A3F0070A133 /* chapter10 */ = {
+ 7E5367E219EAD7F2005C3C64 /* fonts */ = {
isa = PBXGroup;
children = (
- 5E453F7E19E62EB700AB3A5D /* Girl_Face.png */,
- 5E453F7F19E62EB700AB3A5D /* Girl_Glasses01.png */,
- 5E453F8019E62EB700AB3A5D /* Girl_Hair01.png */,
- 5E453F8119E62EB700AB3A5D /* Girl_Hair02.png */,
- 5E453F8219E62EB700AB3A5D /* Girl_Hand.png */,
- 5E453F8319E62EB700AB3A5D /* Girl_LowerBody01.png */,
- 5E453F8419E62EB700AB3A5D /* Girl_LowerBody02.png */,
- 5E453F8519E62EB700AB3A5D /* Girl_Shoes01.png */,
- 5E453F8619E62EB700AB3A5D /* Girl_Shoes02.png */,
- 5E453F8719E62EB700AB3A5D /* Girl_UpperBody01.png */,
- 5E453F8819E62EB700AB3A5D /* Girl_UpperBody02.png */,
- 5E453F8919E62EB700AB3A5D /* ReskinGirl.c3b */,
- 5E453F6E19E5452600AB3A5D /* monguger.tga */,
- 5E453F7819E62CAA00AB3A5D /* arx.png */,
- 5E453F7919E62CAA00AB3A5D /* axe.c3b */,
- 5E453F6F19E5452600AB3A5D /* orc.c3b */,
- 5E453F6219E5359600AB3A5D /* boss.c3b */,
- 5E453F6319E5359600AB3A5D /* boss.png */,
- 50BA5A0919D49A3F0070A133 /* CloseNormal.png */,
- 50BA5A0A19D49A3F0070A133 /* CloseSelected.png */,
- 50BA5A0B19D49A3F0070A133 /* fonts */,
- 50BA5A0D19D49A3F0070A133 /* HelloWorld.png */,
- );
- path = chapter10;
+ 7E5367E319EAD7F2005C3C64 /* Marker Felt.ttf */,
+ );
+ name = fonts;
+ path = chapter9/fonts;
sourceTree = "";
};
- 50BA5A0B19D49A3F0070A133 /* fonts */ = {
+ 7E53686A19EAD87E005C3C64 /* chapter9 */ = {
isa = PBXGroup;
children = (
- 50BA5A0C19D49A3F0070A133 /* Marker Felt.ttf */,
+ 7E53686B19EAD894005C3C64 /* AppDelegate.cpp */,
+ 7E53686C19EAD894005C3C64 /* AppDelegate.h */,
+ 7E53687D19EAD894005C3C64 /* Chapter9.cpp */,
+ 7E53687E19EAD894005C3C64 /* Chapter9.h */,
+ 7E53686D19EAD894005C3C64 /* Chapter9_1.cpp */,
+ 7E53686E19EAD894005C3C64 /* Chapter9_1.h */,
+ 7E53686F19EAD894005C3C64 /* Chapter9_2.cpp */,
+ 7E53687019EAD894005C3C64 /* Chapter9_2.h */,
+ 7E53687119EAD894005C3C64 /* Chapter9_3.cpp */,
+ 7E53687219EAD894005C3C64 /* Chapter9_3.h */,
+ 7E53687319EAD894005C3C64 /* Chapter9_4.cpp */,
+ 7E53687419EAD894005C3C64 /* Chapter9_4.h */,
+ 7E53687519EAD894005C3C64 /* Chapter9_5.cpp */,
+ 7E53687619EAD894005C3C64 /* Chapter9_5.h */,
+ 7E53687719EAD894005C3C64 /* Chapter9_6.cpp */,
+ 7E53687819EAD894005C3C64 /* Chapter9_6.h */,
+ 7E53687919EAD894005C3C64 /* Chapter9_7.cpp */,
+ 7E53687A19EAD894005C3C64 /* Chapter9_7.h */,
+ 7E53687B19EAD894005C3C64 /* Chapter9_8.cpp */,
+ 7E53687C19EAD894005C3C64 /* Chapter9_8.h */,
+ 5E38D2C419F0F3DD0099B433 /* Chapter9_9.cpp */,
+ 5E38D2C519F0F3DD0099B433 /* Chapter9_9.h */,
+ 7E53687F19EAD894005C3C64 /* DrawNode3D.cpp */,
+ 7E53688019EAD894005C3C64 /* DrawNode3D.h */,
);
- path = fonts;
+ name = chapter9;
sourceTree = "";
};
- 50C48A8B19D48B48008185B1 /* res */ = {
+ 7E53689719EB4016005C3C64 /* chapter3 */ = {
isa = PBXGroup;
children = (
- 7E1526C019D4E0020013F222 /* Marker Felt.ttf */,
- 50BA59A419D498F00070A133 /* chapter2 */,
- 50BA5A0819D49A3F0070A133 /* chapter10 */,
+ 50A5DBBD19EC441300082E51 /* sprites.plist */,
+ 50A5DBBE19EC441300082E51 /* sprites.pvr.ccz */,
);
- name = res;
- path = ../res;
+ name = chapter3;
+ path = ../proj.ios_mac;
+ sourceTree = "";
+ };
+ 7E53689C19EC20C8005C3C64 /* chapter4 */ = {
+ isa = PBXGroup;
+ children = (
+ 7E53694619EC234D005C3C64 /* AppDelegate.cpp */,
+ 7E53694719EC234D005C3C64 /* AppDelegate.h */,
+ 7E53694819EC234D005C3C64 /* Chapter4.cpp */,
+ 7E53694919EC234D005C3C64 /* Chapter4.h */,
+ );
+ name = chapter4;
+ sourceTree = "";
+ };
+ 7E914A8D1A1BC8F500C6B2D4 /* chapter5 */ = {
+ isa = PBXGroup;
+ children = (
+ 7E914A8E1A1BC8F500C6B2D4 /* AppDelegate.cpp */,
+ 7E914A8F1A1BC8F500C6B2D4 /* AppDelegate.h */,
+ 7E914A901A1BC8F500C6B2D4 /* Chapter5.cpp */,
+ 7E914A911A1BC8F500C6B2D4 /* Chapter5.h */,
+ );
+ path = chapter5;
+ sourceTree = "";
+ };
+ 7E95719D19F1884800F6AE44 /* chapter13 */ = {
+ isa = PBXGroup;
+ children = (
+ 7E95724519F1983600F6AE44 /* AppDelegate.cpp */,
+ 7E95724619F1983600F6AE44 /* AppDelegate.h */,
+ 7E95724719F1983600F6AE44 /* Chapter13.cpp */,
+ 7E95724819F1983600F6AE44 /* Chapter13.h */,
+ );
+ name = chapter13;
+ sourceTree = "";
+ };
+ 7E95720119F1972600F6AE44 /* chapter8 */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = chapter8;
+ sourceTree = "";
+ };
+ 7E95724D19F1991E00F6AE44 /* chapter13 */ = {
+ isa = PBXGroup;
+ children = (
+ 7E95724E19F1993300F6AE44 /* alert.mp3 */,
+ 7E95724F19F1993300F6AE44 /* music.mp3 */,
+ );
+ name = chapter13;
+ sourceTree = "";
+ };
+ 7EBF317419E7807500A7FBEA /* chapter3 */ = {
+ isa = PBXGroup;
+ children = (
+ 7EBF317519E7807500A7FBEA /* AppDelegate.cpp */,
+ 7EBF317619E7807500A7FBEA /* AppDelegate.h */,
+ 7EBF317E19E843F100A7FBEA /* Chapter3.cpp */,
+ 7EBF317F19E843F100A7FBEA /* Chapter3.h */,
+ );
+ path = chapter3;
sourceTree = "";
};
/* End PBXGroup section */
@@ -669,66 +1727,318 @@
);
name = "Chapter 2 iOS";
productName = iphone;
- productReference = 1D6058910D05DD3D006BFB54 /* Programmers Guide iOS.app */;
+ productReference = 1D6058910D05DD3D006BFB54 /* Chapter 2.app */;
productType = "com.apple.product-type.application";
};
- 5087E73D17EB910900C73F5D /* Chapter 2 Mac */ = {
+ 296358B819F78D4F003732AB /* Chapter 6 iOS */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 5087E76C17EB910900C73F5D /* Build configuration list for PBXNativeTarget "Chapter 2 Mac" */;
+ buildConfigurationList = 296358EE19F78D4F003732AB /* Build configuration list for PBXNativeTarget "Chapter 6 iOS" */;
buildPhases = (
- 5087E74817EB910900C73F5D /* Resources */,
- 5087E75617EB910900C73F5D /* Sources */,
- 5087E75C17EB910900C73F5D /* Frameworks */,
+ 296358BB19F78D4F003732AB /* Resources */,
+ 296358DC19F78D4F003732AB /* Sources */,
+ 296358E219F78D4F003732AB /* Frameworks */,
);
buildRules = (
);
dependencies = (
- 50BA599719D492FA0070A133 /* PBXTargetDependency */,
+ 296358B919F78D4F003732AB /* PBXTargetDependency */,
);
- name = "Chapter 2 Mac";
+ name = "Chapter 6 iOS";
productName = iphone;
- productReference = 5087E76F17EB910900C73F5D /* Programmers Guide Mac.app */;
+ productReference = 296358F119F78D4F003732AB /* Chapter 6 iOS.app */;
productType = "com.apple.product-type.application";
};
- 50BA59B219D4992C0070A133 /* Chapter 10 iOS */ = {
+ 2963591619F78F74003732AB /* Chapter 6 Mac */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 50BA59DC19D4992C0070A133 /* Build configuration list for PBXNativeTarget "Chapter 10 iOS" */;
+ buildConfigurationList = 2963593F19F78F74003732AB /* Build configuration list for PBXNativeTarget "Chapter 6 Mac" */;
buildPhases = (
- 50BA59B519D4992C0070A133 /* Resources */,
- 50BA59CA19D4992C0070A133 /* Sources */,
- 50BA59D019D4992C0070A133 /* Frameworks */,
+ 2963591919F78F74003732AB /* Resources */,
+ 2963592E19F78F74003732AB /* Sources */,
+ 2963593319F78F74003732AB /* Frameworks */,
);
buildRules = (
);
dependencies = (
- 50BA59B319D4992C0070A133 /* PBXTargetDependency */,
+ 2963591719F78F74003732AB /* PBXTargetDependency */,
);
- name = "Chapter 10 iOS";
+ name = "Chapter 6 Mac";
productName = iphone;
- productReference = 50BA59DF19D4992C0070A133 /* Chapter 2 iOS copy.app */;
+ productReference = 2963594219F78F74003732AB /* Chapter 6 Mac.app */;
productType = "com.apple.product-type.application";
};
- 50BA59E119D499360070A133 /* Chapter 10 Mac */ = {
+ 3EE7F8BC19ED607500448914 /* Chapter 12 iOS */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 50BA59FA19D499360070A133 /* Build configuration list for PBXNativeTarget "Chapter 10 Mac" */;
+ buildConfigurationList = 3EE7F8E919ED607500448914 /* Build configuration list for PBXNativeTarget "Chapter 12 iOS" */;
buildPhases = (
- 50BA59E419D499360070A133 /* Resources */,
- 50BA59EA19D499360070A133 /* Sources */,
- 50BA59EE19D499360070A133 /* Frameworks */,
+ 3EE7F8BF19ED607500448914 /* Resources */,
+ 3EE7F8D619ED607500448914 /* Sources */,
+ 3EE7F8DD19ED607500448914 /* Frameworks */,
);
buildRules = (
);
dependencies = (
- 50BA59E219D499360070A133 /* PBXTargetDependency */,
+ 3EE7F8BD19ED607500448914 /* PBXTargetDependency */,
);
- name = "Chapter 10 Mac";
+ name = "Chapter 12 iOS";
productName = iphone;
- productReference = 50BA59FD19D499360070A133 /* Chapter 2 Mac copy.app */;
+ productReference = 3EE7F8EC19ED607500448914 /* Chapter 12 iOS.app */;
productType = "com.apple.product-type.application";
};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
+ 3EE7F8EE19ED607800448914 /* Chapter 12 Mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 3EE7F90A19ED607800448914 /* Build configuration list for PBXNativeTarget "Chapter 12 Mac" */;
+ buildPhases = (
+ 3EE7F8F119ED607800448914 /* Resources */,
+ 3EE7F8F919ED607800448914 /* Sources */,
+ 3EE7F8FE19ED607800448914 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 3EE7F8EF19ED607800448914 /* PBXTargetDependency */,
+ );
+ name = "Chapter 12 Mac";
+ productName = iphone;
+ productReference = 3EE7F90D19ED607800448914 /* Chapter 12 Mac.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 5087E73D17EB910900C73F5D /* Chapter 2 Mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 5087E76C17EB910900C73F5D /* Build configuration list for PBXNativeTarget "Chapter 2 Mac" */;
+ buildPhases = (
+ 5087E74817EB910900C73F5D /* Resources */,
+ 5087E75617EB910900C73F5D /* Sources */,
+ 5087E75C17EB910900C73F5D /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 50BA599719D492FA0070A133 /* PBXTargetDependency */,
+ );
+ name = "Chapter 2 Mac";
+ productName = iphone;
+ productReference = 5087E76F17EB910900C73F5D /* Chapter 2 Mac.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 50BA59B219D4992C0070A133 /* Chapter 9 iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 50BA59DC19D4992C0070A133 /* Build configuration list for PBXNativeTarget "Chapter 9 iOS" */;
+ buildPhases = (
+ 50BA59B519D4992C0070A133 /* Resources */,
+ 50BA59CA19D4992C0070A133 /* Sources */,
+ 50BA59D019D4992C0070A133 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 50BA59B319D4992C0070A133 /* PBXTargetDependency */,
+ );
+ name = "Chapter 9 iOS";
+ productName = iphone;
+ productReference = 50BA59DF19D4992C0070A133 /* Chapter 9 iOS.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 50BA59E119D499360070A133 /* Chapter 9 Mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 50BA59FA19D499360070A133 /* Build configuration list for PBXNativeTarget "Chapter 9 Mac" */;
+ buildPhases = (
+ 50BA59E419D499360070A133 /* Resources */,
+ 50BA59EA19D499360070A133 /* Sources */,
+ 50BA59EE19D499360070A133 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 50BA59E219D499360070A133 /* PBXTargetDependency */,
+ );
+ name = "Chapter 9 Mac";
+ productName = iphone;
+ productReference = 50BA59FD19D499360070A133 /* Chapter 9 Mac.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E53689D19EC20DE005C3C64 /* Chapter 3 Mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E5368DC19EC20DE005C3C64 /* Build configuration list for PBXNativeTarget "Chapter 3 Mac" */;
+ buildPhases = (
+ 7E5368A019EC20DE005C3C64 /* Resources */,
+ 7E5368C319EC20DE005C3C64 /* Sources */,
+ 7E5368D019EC20DE005C3C64 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E53689E19EC20DE005C3C64 /* PBXTargetDependency */,
+ );
+ name = "Chapter 3 Mac";
+ productName = iphone;
+ productReference = 7E5368DF19EC20DE005C3C64 /* Chapter 3 Mac.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E5368EE19EC228B005C3C64 /* Chapter 4 iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E53691D19EC228B005C3C64 /* Build configuration list for PBXNativeTarget "Chapter 4 iOS" */;
+ buildPhases = (
+ 7E5368F119EC228B005C3C64 /* Resources */,
+ 7E53690B19EC228B005C3C64 /* Sources */,
+ 7E53691119EC228B005C3C64 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E5368EF19EC228B005C3C64 /* PBXTargetDependency */,
+ );
+ name = "Chapter 4 iOS";
+ productName = iphone;
+ productReference = 7E53692019EC228B005C3C64 /* Chapter 4 iOS.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E53692219EC22F4005C3C64 /* Chapter 4 Mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E53694119EC22F4005C3C64 /* Build configuration list for PBXNativeTarget "Chapter 4 Mac" */;
+ buildPhases = (
+ 7E53692519EC22F4005C3C64 /* Resources */,
+ 7E53692F19EC22F4005C3C64 /* Sources */,
+ 7E53693519EC22F4005C3C64 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E53692319EC22F4005C3C64 /* PBXTargetDependency */,
+ );
+ name = "Chapter 4 Mac";
+ productName = iphone;
+ productReference = 7E53694419EC22F4005C3C64 /* Chapter 4 Mac.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E914A421A1BC3F200C6B2D4 /* Chapter 5 iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E914A6B1A1BC3F200C6B2D4 /* Build configuration list for PBXNativeTarget "Chapter 5 iOS" */;
+ buildPhases = (
+ 7E914A451A1BC3F200C6B2D4 /* Resources */,
+ 7E914A591A1BC3F200C6B2D4 /* Sources */,
+ 7E914A5F1A1BC3F200C6B2D4 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E914A431A1BC3F200C6B2D4 /* PBXTargetDependency */,
+ );
+ name = "Chapter 5 iOS";
+ productName = iphone;
+ productReference = 7E914A6E1A1BC3F200C6B2D4 /* Chapter 5 iOS.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E914A701A1BC40200C6B2D4 /* Chapter 5 Mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E914A881A1BC40200C6B2D4 /* Build configuration list for PBXNativeTarget "Chapter 5 Mac" */;
+ buildPhases = (
+ 7E914A731A1BC40200C6B2D4 /* Resources */,
+ 7E914A781A1BC40200C6B2D4 /* Sources */,
+ 7E914A7C1A1BC40200C6B2D4 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E914A711A1BC40200C6B2D4 /* PBXTargetDependency */,
+ );
+ name = "Chapter 5 Mac";
+ productName = iphone;
+ productReference = 7E914A8B1A1BC40200C6B2D4 /* Chapter 5 Mac.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E95719E19F1938B00F6AE44 /* Chapter 8 iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E9571CE19F1938B00F6AE44 /* Build configuration list for PBXNativeTarget "Chapter 8 iOS" */;
+ buildPhases = (
+ 7E9571A119F1938B00F6AE44 /* Resources */,
+ 7E9571BC19F1938B00F6AE44 /* Sources */,
+ 7E9571C219F1938B00F6AE44 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E95719F19F1938B00F6AE44 /* PBXTargetDependency */,
+ );
+ name = "Chapter 8 iOS";
+ productName = iphone;
+ productReference = 7E9571D119F1938B00F6AE44 /* Chapter 8 iOS.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E9571D319F196D200F6AE44 /* Chapter 8 Mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E9571FC19F196D200F6AE44 /* Build configuration list for PBXNativeTarget "Chapter 8 Mac" */;
+ buildPhases = (
+ 7E9571D619F196D200F6AE44 /* Resources */,
+ 7E9571EB19F196D200F6AE44 /* Sources */,
+ 7E9571F019F196D200F6AE44 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E9571D419F196D200F6AE44 /* PBXTargetDependency */,
+ );
+ name = "Chapter 8 Mac";
+ productName = iphone;
+ productReference = 7E9571FF19F196D200F6AE44 /* Chapter 8 Mac.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E95720219F197BA00F6AE44 /* Chapter 13 iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E95722719F197BA00F6AE44 /* Build configuration list for PBXNativeTarget "Chapter 13 iOS" */;
+ buildPhases = (
+ 7E95720519F197BA00F6AE44 /* Resources */,
+ 7E95721719F197BA00F6AE44 /* Sources */,
+ 7E95721B19F197BA00F6AE44 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E95720319F197BA00F6AE44 /* PBXTargetDependency */,
+ );
+ name = "Chapter 13 iOS";
+ productName = iphone;
+ productReference = 7E95722A19F197BA00F6AE44 /* Chapter 13 iOS.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7E95722C19F197F500F6AE44 /* Chapter 13 Mac */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7E95724019F197F500F6AE44 /* Build configuration list for PBXNativeTarget "Chapter 13 Mac" */;
+ buildPhases = (
+ 7E95722F19F197F500F6AE44 /* Resources */,
+ 7E95723219F197F500F6AE44 /* Sources */,
+ 7E95723419F197F500F6AE44 /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7E95722D19F197F500F6AE44 /* PBXTargetDependency */,
+ );
+ name = "Chapter 13 Mac";
+ productName = iphone;
+ productReference = 7E95724319F197F500F6AE44 /* Chapter 13 Mac.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 7EBF313F19E7803F00A7FBEA /* Chapter 3 iOS */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 7EBF316F19E7803F00A7FBEA /* Build configuration list for PBXNativeTarget "Chapter 3 iOS" */;
+ buildPhases = (
+ 7EBF314219E7803F00A7FBEA /* Resources */,
+ 7EBF315C19E7803F00A7FBEA /* Sources */,
+ 7EBF316319E7803F00A7FBEA /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 7EBF314019E7803F00A7FBEA /* PBXTargetDependency */,
+ );
+ name = "Chapter 3 iOS";
+ productName = iphone;
+ productReference = 7EBF317219E7803F00A7FBEA /* Chapter 3.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
29B97313FDCFA39411CA2CEA /* Project object */ = {
isa = PBXProject;
attributes = {
@@ -761,8 +2071,22 @@
targets = (
1D6058900D05DD3D006BFB54 /* Chapter 2 iOS */,
5087E73D17EB910900C73F5D /* Chapter 2 Mac */,
- 50BA59B219D4992C0070A133 /* Chapter 10 iOS */,
- 50BA59E119D499360070A133 /* Chapter 10 Mac */,
+ 7EBF313F19E7803F00A7FBEA /* Chapter 3 iOS */,
+ 7E53689D19EC20DE005C3C64 /* Chapter 3 Mac */,
+ 7E5368EE19EC228B005C3C64 /* Chapter 4 iOS */,
+ 7E53692219EC22F4005C3C64 /* Chapter 4 Mac */,
+ 7E914A421A1BC3F200C6B2D4 /* Chapter 5 iOS */,
+ 7E914A701A1BC40200C6B2D4 /* Chapter 5 Mac */,
+ 296358B819F78D4F003732AB /* Chapter 6 iOS */,
+ 2963591619F78F74003732AB /* Chapter 6 Mac */,
+ 7E95719E19F1938B00F6AE44 /* Chapter 8 iOS */,
+ 7E9571D319F196D200F6AE44 /* Chapter 8 Mac */,
+ 50BA59B219D4992C0070A133 /* Chapter 9 iOS */,
+ 50BA59E119D499360070A133 /* Chapter 9 Mac */,
+ 3EE7F8BC19ED607500448914 /* Chapter 12 iOS */,
+ 3EE7F8EE19ED607800448914 /* Chapter 12 Mac */,
+ 7E95720219F197BA00F6AE44 /* Chapter 13 iOS */,
+ 7E95722C19F197F500F6AE44 /* Chapter 13 Mac */,
);
};
/* End PBXProject section */
@@ -790,7 +2114,6 @@
buildActionMask = 2147483647;
files = (
5087E78117EB970100C73F5D /* Icon-120.png in Resources */,
- 7E1526B619D4DE890013F222 /* HelloWorld.png in Resources */,
7E1526B419D4DE890013F222 /* Blue_Front1.png in Resources */,
5087E78617EB970100C73F5D /* Icon-76.png in Resources */,
5087E77F17EB970100C73F5D /* Default@2x.png in Resources */,
@@ -801,13 +2124,11 @@
7E1526BC19D4DE890013F222 /* ZigzagForest_Square.png in Resources */,
50EF62A317ECD613001EB2F8 /* Icon-50.png in Resources */,
5087E78017EB970100C73F5D /* Icon-114.png in Resources */,
- 50BA59AE19D498F00070A133 /* Marker Felt.ttf in Resources */,
50EF62A217ECD613001EB2F8 /* Icon-29.png in Resources */,
50EF629617ECD46A001EB2F8 /* Icon-40.png in Resources */,
5087E78217EB970100C73F5D /* Icon-144.png in Resources */,
7E1526C119D4E0020013F222 /* Marker Felt.ttf in Resources */,
50EF629817ECD46A001EB2F8 /* Icon-80.png in Resources */,
- 7E4ED39F19DB4D78003A49C2 /* clouds_1.png in Resources */,
7E1526B819D4DE890013F222 /* LightBlue_Front1.png in Resources */,
7E1526BE19D4DE890013F222 /* ZigzagGrass_Mud_Round.png in Resources */,
5087E78417EB970100C73F5D /* Icon-57.png in Resources */,
@@ -817,14 +2138,103 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 296358BB19F78D4F003732AB /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 2963590B19F78ED4003732AB /* bitmapFontTest.fnt in Resources */,
+ 296358BC19F78D4F003732AB /* Icon-120.png in Resources */,
+ 296358BE19F78D4F003732AB /* Icon-76.png in Resources */,
+ 296358BF19F78D4F003732AB /* Default@2x.png in Resources */,
+ 296358C019F78D4F003732AB /* Icon-100.png in Resources */,
+ 296358C319F78D4F003732AB /* Icon-152.png in Resources */,
+ 296358C519F78D4F003732AB /* Default-568h@2x.png in Resources */,
+ 296358C619F78D4F003732AB /* Icon-72.png in Resources */,
+ 296358CB19F78D4F003732AB /* Icon-50.png in Resources */,
+ 296358CC19F78D4F003732AB /* Marker Felt.ttf in Resources */,
+ 296358CD19F78D4F003732AB /* Icon-114.png in Resources */,
+ 2963591519F78ED4003732AB /* rightSelected.png in Resources */,
+ 296358CE19F78D4F003732AB /* Icon-29.png in Resources */,
+ 2963591419F78ED4003732AB /* rightNormal.png in Resources */,
+ 296358CF19F78D4F003732AB /* Icon-40.png in Resources */,
+ 296358D019F78D4F003732AB /* Icon-144.png in Resources */,
+ 296358D119F78D4F003732AB /* Icon-80.png in Resources */,
+ 2963590F19F78ED4003732AB /* leftSelected.png in Resources */,
+ 2963591319F78ED4003732AB /* restartSelected.png in Resources */,
+ 2963591019F78ED4003732AB /* menuItemSpriteNormal.png in Resources */,
+ 296358D519F78D4F003732AB /* Icon-57.png in Resources */,
+ 2963591119F78ED4003732AB /* menuItemSpriteSelected.png in Resources */,
+ 2963590A19F78ED4003732AB /* arial.ttf in Resources */,
+ 2963590D19F78ED4003732AB /* labelatlasimg.png in Resources */,
+ 2963590C19F78ED4003732AB /* bitmapFontTest.png in Resources */,
+ 296358D919F78D4F003732AB /* Default.png in Resources */,
+ 2963590E19F78ED4003732AB /* leftNormal.png in Resources */,
+ 296358DA19F78D4F003732AB /* Icon-58.png in Resources */,
+ 2963591219F78ED4003732AB /* restartNormal.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 2963591919F78F74003732AB /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 2963594819F78FC4003732AB /* arial.ttf in Resources */,
+ 2963594919F78FC4003732AB /* bitmapFontTest.fnt in Resources */,
+ 2963594A19F78FC4003732AB /* bitmapFontTest.png in Resources */,
+ 2963594B19F78FC4003732AB /* labelatlasimg.png in Resources */,
+ 2963594C19F78FC4003732AB /* leftNormal.png in Resources */,
+ 2963594D19F78FC4003732AB /* leftSelected.png in Resources */,
+ 2963594E19F78FC4003732AB /* menuItemSpriteNormal.png in Resources */,
+ 2963594F19F78FC4003732AB /* menuItemSpriteSelected.png in Resources */,
+ 2963595019F78FC4003732AB /* restartNormal.png in Resources */,
+ 2963595119F78FC4003732AB /* restartSelected.png in Resources */,
+ 2963595219F78FC4003732AB /* rightNormal.png in Resources */,
+ 2963595319F78FC4003732AB /* rightSelected.png in Resources */,
+ 2963592B19F78F74003732AB /* Icon.icns in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 3EE7F8BF19ED607500448914 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3EE7F8C019ED607500448914 /* Icon-120.png in Resources */,
+ 3EE7F8C219ED607500448914 /* Icon-76.png in Resources */,
+ 3EE7F8C319ED607500448914 /* Default@2x.png in Resources */,
+ 3EE7F8C419ED607500448914 /* Icon-100.png in Resources */,
+ 3EE7F8C519ED607500448914 /* Icon-152.png in Resources */,
+ 3EE7F8C619ED607500448914 /* Default-568h@2x.png in Resources */,
+ 3EE7F8C719ED607500448914 /* Icon-72.png in Resources */,
+ 3EE7F8C919ED607500448914 /* Icon-50.png in Resources */,
+ 3EE7F8CA19ED607500448914 /* Icon-114.png in Resources */,
+ 3EE7F91919ED60F200448914 /* chapter12 in Resources */,
+ 3EE7F8CB19ED607500448914 /* Icon-29.png in Resources */,
+ 3EE7F8CC19ED607500448914 /* Icon-40.png in Resources */,
+ 3EE7F8CD19ED607500448914 /* Icon-144.png in Resources */,
+ 3EE7F8CE19ED607500448914 /* Marker Felt.ttf in Resources */,
+ 3EE7F8CF19ED607500448914 /* Icon-80.png in Resources */,
+ 3EE7F8D219ED607500448914 /* Icon-57.png in Resources */,
+ 3EE7F8D419ED607500448914 /* Default.png in Resources */,
+ 3EE7F8D519ED607500448914 /* Icon-58.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 3EE7F8F119ED607800448914 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3EE7F91A19ED60F200448914 /* chapter12 in Resources */,
+ 3EE7F8F219ED607800448914 /* Marker Felt.ttf in Resources */,
+ 3EE7F8F819ED607800448914 /* Icon.icns in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
5087E74817EB910900C73F5D /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 50BA59AF19D498F00070A133 /* Marker Felt.ttf in Resources */,
7E1526C219D4E0020013F222 /* Marker Felt.ttf in Resources */,
7E1526B919D4DE890013F222 /* LightBlue_Front1.png in Resources */,
- 7E1526B719D4DE890013F222 /* HelloWorld.png in Resources */,
7E1526BD19D4DE890013F222 /* ZigzagForest_Square.png in Resources */,
7E1526BF19D4DE890013F222 /* ZigzagGrass_Mud_Round.png in Resources */,
7E1526BB19D4DE890013F222 /* White_Front1.png in Resources */,
@@ -837,44 +2247,59 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 5E453F6619E5359600AB3A5D /* boss.png in Resources */,
+ 7E53681219EAD7F2005C3C64 /* Girl_Hair01.png in Resources */,
+ 7E53682619EAD7F2005C3C64 /* HelloWorld.png in Resources */,
+ 7E53682819EAD7F2005C3C64 /* monguger.tga in Resources */,
+ 7E53680619EAD7F2005C3C64 /* boss.png in Resources */,
50BA59B619D4992C0070A133 /* Icon-120.png in Resources */,
+ 7E53680219EAD7F2005C3C64 /* body.png in Resources */,
50BA59B719D4992C0070A133 /* Icon-76.png in Resources */,
+ 7E53680419EAD7F2005C3C64 /* boss.c3b in Resources */,
50BA59B819D4992C0070A133 /* Default@2x.png in Resources */,
- 5E453F6419E5359600AB3A5D /* boss.c3b in Resources */,
- 5E453F8C19E62EB700AB3A5D /* Girl_Glasses01.png in Resources */,
- 5E453F8A19E62EB700AB3A5D /* Girl_Face.png in Resources */,
- 5E453F7019E5452600AB3A5D /* monguger.tga in Resources */,
- 5E453F9219E62EB700AB3A5D /* Girl_Hand.png in Resources */,
+ 5E38D2CA19F0F3FF0099B433 /* sphere.c3b in Resources */,
+ 7E53683619EAD7F2005C3C64 /* zhujue.c3b in Resources */,
+ 7E5367FE19EAD7F2005C3C64 /* axe.c3b in Resources */,
+ 7E53680019EAD7F2005C3C64 /* Blue_Front1.png in Resources */,
+ 7E5367FC19EAD7F2005C3C64 /* arx.png in Resources */,
+ 7E53681619EAD7F2005C3C64 /* Girl_Hand.png in Resources */,
+ 7E53680C19EAD7F2005C3C64 /* Marker Felt.ttf in Resources */,
+ 7E53681019EAD7F2005C3C64 /* Girl_Glasses01.png in Resources */,
+ 7E53681A19EAD7F2005C3C64 /* Girl_LowerBody02.png in Resources */,
+ 7E53680E19EAD7F2005C3C64 /* Girl_Face.png in Resources */,
+ 5E4C83EE1A3EC4F900F65FA9 /* planetex.png in Resources */,
50BA59B919D4992C0070A133 /* Icon-100.png in Resources */,
+ 7E53683A19EAD7F2005C3C64 /* zhujue.FBX in Resources */,
+ 7E53680819EAD7F2005C3C64 /* CloseNormal.png in Resources */,
+ 7E53680A19EAD7F2005C3C64 /* CloseSelected.png in Resources */,
50BA59BA19D4992C0070A133 /* Icon-152.png in Resources */,
- 5E453F9819E62EB700AB3A5D /* Girl_Shoes01.png in Resources */,
- 50BA5A1419D49A3F0070A133 /* HelloWorld.png in Resources */,
- 5E453F9419E62EB700AB3A5D /* Girl_LowerBody01.png in Resources */,
- 5E453F7219E5452600AB3A5D /* orc.c3b in Resources */,
- 5E453F7A19E62CAA00AB3A5D /* arx.png in Resources */,
- 50BA5A1019D49A3F0070A133 /* CloseSelected.png in Resources */,
- 5E453F8E19E62EB700AB3A5D /* Girl_Hair01.png in Resources */,
+ 7E53681819EAD7F2005C3C64 /* Girl_LowerBody01.png in Resources */,
50BA59BD19D4992C0070A133 /* Default-568h@2x.png in Resources */,
- 5E453F9E19E62EB700AB3A5D /* Girl_UpperBody02.png in Resources */,
+ 7E53683819EAD7F2005C3C64 /* zhujue.c3t in Resources */,
+ 5E38D2CC19F0F3FF0099B433 /* spheretex.png in Resources */,
50BA59BE19D4992C0070A133 /* Icon-72.png in Resources */,
+ 7E53681C19EAD7F2005C3C64 /* Girl_Shoes01.png in Resources */,
+ 5E4C83EB1A3EC4DA00F65FA9 /* plane.obj in Resources */,
+ 7E53682A19EAD7F2005C3C64 /* orc.c3b in Resources */,
+ 7E53681419EAD7F2005C3C64 /* Girl_Hair02.png in Resources */,
+ 7E53681E19EAD7F2005C3C64 /* Girl_Shoes02.png in Resources */,
50BA59BF19D4992C0070A133 /* Icon-50.png in Resources */,
+ 7E53682019EAD7F2005C3C64 /* Girl_UpperBody01.png in Resources */,
+ 7E53683419EAD7F2005C3C64 /* zhujue_jian.png in Resources */,
50BA59C019D4992C0070A133 /* Icon-114.png in Resources */,
- 5E453F9619E62EB700AB3A5D /* Girl_LowerBody02.png in Resources */,
- 5E453F9C19E62EB700AB3A5D /* Girl_UpperBody01.png in Resources */,
- 50BA5A1219D49A3F0070A133 /* Marker Felt.ttf in Resources */,
- 5E453F7C19E62CAA00AB3A5D /* axe.c3b in Resources */,
+ 7E53683219EAD7F2005C3C64 /* Xie_01.png in Resources */,
50BA59C219D4992C0070A133 /* Icon-29.png in Resources */,
50BA59C319D4992C0070A133 /* Icon-40.png in Resources */,
50BA59C419D4992C0070A133 /* Icon-144.png in Resources */,
50BA59C519D4992C0070A133 /* Icon-80.png in Resources */,
- 5E453F9A19E62EB700AB3A5D /* Girl_Shoes02.png in Resources */,
+ 7E53682219EAD7F2005C3C64 /* Girl_UpperBody02.png in Resources */,
50BA59C619D4992C0070A133 /* Icon-57.png in Resources */,
+ 7E53683019EAD7F2005C3C64 /* tortoise.png in Resources */,
50BA59C719D4992C0070A133 /* Default.png in Resources */,
- 5E453FA019E62EB700AB3A5D /* ReskinGirl.c3b in Resources */,
- 50BA5A0E19D49A3F0070A133 /* CloseNormal.png in Resources */,
+ 7E53683C19EAD7F2005C3C64 /* zhujue.png in Resources */,
+ 7E53682419EAD7F2005C3C64 /* girl.c3b in Resources */,
+ 7E53682C19EAD7F2005C3C64 /* ReskinGirl.c3b in Resources */,
50BA59C919D4992C0070A133 /* Icon-58.png in Resources */,
- 5E453F9019E62EB700AB3A5D /* Girl_Hair02.png in Resources */,
+ 7E53682E19EAD7F2005C3C64 /* tortoise.c3b in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -882,29 +2307,263 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 5E453F9519E62EB700AB3A5D /* Girl_LowerBody01.png in Resources */,
- 5E453F8F19E62EB700AB3A5D /* Girl_Hair01.png in Resources */,
- 50BA5A1519D49A3F0070A133 /* HelloWorld.png in Resources */,
- 50BA5A1319D49A3F0070A133 /* Marker Felt.ttf in Resources */,
- 5E453F9B19E62EB700AB3A5D /* Girl_Shoes02.png in Resources */,
- 5E453F9D19E62EB700AB3A5D /* Girl_UpperBody01.png in Resources */,
- 5E453F7119E5452600AB3A5D /* monguger.tga in Resources */,
- 5E453F8D19E62EB700AB3A5D /* Girl_Glasses01.png in Resources */,
- 5E453F7319E5452600AB3A5D /* orc.c3b in Resources */,
+ 5E38D2CD19F0F3FF0099B433 /* spheretex.png in Resources */,
+ 7E53683519EAD7F2005C3C64 /* zhujue_jian.png in Resources */,
+ 7E53682B19EAD7F2005C3C64 /* orc.c3b in Resources */,
+ 7E53681B19EAD7F2005C3C64 /* Girl_LowerBody02.png in Resources */,
+ 7E53681D19EAD7F2005C3C64 /* Girl_Shoes01.png in Resources */,
+ 7E53683B19EAD7F2005C3C64 /* zhujue.FBX in Resources */,
+ 5E4C83EC1A3EC4DA00F65FA9 /* plane.obj in Resources */,
+ 7E53682919EAD7F2005C3C64 /* monguger.tga in Resources */,
+ 7E53682319EAD7F2005C3C64 /* Girl_UpperBody02.png in Resources */,
+ 7E5367FF19EAD7F2005C3C64 /* axe.c3b in Resources */,
+ 7E53682D19EAD7F2005C3C64 /* ReskinGirl.c3b in Resources */,
+ 5E38D2CB19F0F3FF0099B433 /* sphere.c3b in Resources */,
+ 7E53681119EAD7F2005C3C64 /* Girl_Glasses01.png in Resources */,
+ 7E53683D19EAD7F2005C3C64 /* zhujue.png in Resources */,
+ 5E4C83EF1A3EC4F900F65FA9 /* planetex.png in Resources */,
+ 7E53680919EAD7F2005C3C64 /* CloseNormal.png in Resources */,
+ 7E53681319EAD7F2005C3C64 /* Girl_Hair01.png in Resources */,
+ 7E53680319EAD7F2005C3C64 /* body.png in Resources */,
50BA59E719D499360070A133 /* Icon.icns in Resources */,
- 5E453F7B19E62CAA00AB3A5D /* arx.png in Resources */,
- 5E453FA119E62EB700AB3A5D /* ReskinGirl.c3b in Resources */,
- 5E453F9319E62EB700AB3A5D /* Girl_Hand.png in Resources */,
- 5E453F6519E5359600AB3A5D /* boss.c3b in Resources */,
- 50BA5A0F19D49A3F0070A133 /* CloseNormal.png in Resources */,
- 5E453F9F19E62EB700AB3A5D /* Girl_UpperBody02.png in Resources */,
- 5E453F8B19E62EB700AB3A5D /* Girl_Face.png in Resources */,
- 5E453F7D19E62CAA00AB3A5D /* axe.c3b in Resources */,
- 50BA5A1119D49A3F0070A133 /* CloseSelected.png in Resources */,
- 5E453F9719E62EB700AB3A5D /* Girl_LowerBody02.png in Resources */,
- 5E453F6719E5359600AB3A5D /* boss.png in Resources */,
- 5E453F9919E62EB700AB3A5D /* Girl_Shoes01.png in Resources */,
- 5E453F9119E62EB700AB3A5D /* Girl_Hair02.png in Resources */,
+ 7E53682719EAD7F2005C3C64 /* HelloWorld.png in Resources */,
+ 7E53680D19EAD7F2005C3C64 /* Marker Felt.ttf in Resources */,
+ 7E53683719EAD7F2005C3C64 /* zhujue.c3b in Resources */,
+ 7E53682F19EAD7F2005C3C64 /* tortoise.c3b in Resources */,
+ 7E53680519EAD7F2005C3C64 /* boss.c3b in Resources */,
+ 7E53680B19EAD7F2005C3C64 /* CloseSelected.png in Resources */,
+ 7E53682119EAD7F2005C3C64 /* Girl_UpperBody01.png in Resources */,
+ 7E5367FD19EAD7F2005C3C64 /* arx.png in Resources */,
+ 7E53682519EAD7F2005C3C64 /* girl.c3b in Resources */,
+ 7E53681719EAD7F2005C3C64 /* Girl_Hand.png in Resources */,
+ 7E53683319EAD7F2005C3C64 /* Xie_01.png in Resources */,
+ 7E53680119EAD7F2005C3C64 /* Blue_Front1.png in Resources */,
+ 7E53681919EAD7F2005C3C64 /* Girl_LowerBody01.png in Resources */,
+ 7E53681519EAD7F2005C3C64 /* Girl_Hair02.png in Resources */,
+ 7E53683119EAD7F2005C3C64 /* tortoise.png in Resources */,
+ 7E53680719EAD7F2005C3C64 /* boss.png in Resources */,
+ 7E53683919EAD7F2005C3C64 /* zhujue.c3t in Resources */,
+ 7E53681F19EAD7F2005C3C64 /* Girl_Shoes02.png in Resources */,
+ 7E53680F19EAD7F2005C3C64 /* Girl_Face.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E5368A019EC20DE005C3C64 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E5368E519EC2159005C3C64 /* Blue_Front1.png in Resources */,
+ 50A5DBC019EC441300082E51 /* sprites.plist in Resources */,
+ 7E5368E619EC2159005C3C64 /* LightBlue_Front1.png in Resources */,
+ 7EC0CFCC19ECD4BE00C41BDA /* dot.png in Resources */,
+ 7E5368E719EC2159005C3C64 /* White_Front1.png in Resources */,
+ 7E5368E819EC2159005C3C64 /* ZigzagForest_Square.png in Resources */,
+ 7E5368E919EC2159005C3C64 /* ZigzagGrass_Mud_Round.png in Resources */,
+ 7E5368E219EC213B005C3C64 /* Icon.icns in Resources */,
+ 7E5368E119EC2128005C3C64 /* Marker Felt.ttf in Resources */,
+ 50A5DBC219EC441300082E51 /* sprites.pvr.ccz in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E5368F119EC228B005C3C64 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E5368F219EC228B005C3C64 /* Icon-120.png in Resources */,
+ 7E5368F419EC228B005C3C64 /* Blue_Front1.png in Resources */,
+ 7E5368F519EC228B005C3C64 /* Icon-76.png in Resources */,
+ 7E5368F719EC228B005C3C64 /* Default@2x.png in Resources */,
+ 7E5368F819EC228B005C3C64 /* Icon-100.png in Resources */,
+ 7E3532A619F06ECB0080126B /* Blue_Front3.png in Resources */,
+ 7E35329C19F06ECB0080126B /* Blue_Back1.png in Resources */,
+ 7E5368F919EC228B005C3C64 /* Icon-152.png in Resources */,
+ 7E3532A019F06ECB0080126B /* Blue_Back3.png in Resources */,
+ 7E5368FA19EC228B005C3C64 /* Default-568h@2x.png in Resources */,
+ 7E5368FB19EC228B005C3C64 /* Icon-72.png in Resources */,
+ 7EC0CFCD19ECE10A00C41BDA /* dot.png in Resources */,
+ 7E5368FC19EC228B005C3C64 /* ZigzagForest_Square.png in Resources */,
+ 7E3532AA19F06ECB0080126B /* Blue_Left2.png in Resources */,
+ 7E3532B019F06ECB0080126B /* Blue_Right2.png in Resources */,
+ 7E5368FD19EC228B005C3C64 /* Icon-50.png in Resources */,
+ 7E5368FE19EC228B005C3C64 /* Marker Felt.ttf in Resources */,
+ 7E5368FF19EC228B005C3C64 /* Icon-114.png in Resources */,
+ 7E53690019EC228B005C3C64 /* Icon-29.png in Resources */,
+ 7E53690119EC228B005C3C64 /* Icon-40.png in Resources */,
+ 7E53690219EC228B005C3C64 /* Icon-144.png in Resources */,
+ 7E53690319EC228B005C3C64 /* Icon-80.png in Resources */,
+ 7E3532A219F06ECB0080126B /* Blue_Front1.png in Resources */,
+ 7E3532A419F06ECB0080126B /* Blue_Front2.png in Resources */,
+ 7E3532A819F06ECB0080126B /* Blue_Left1.png in Resources */,
+ 7E53690619EC228B005C3C64 /* Icon-57.png in Resources */,
+ 7E3532B219F06ECB0080126B /* Blue_Right3.png in Resources */,
+ 7E35329E19F06ECB0080126B /* Blue_Back2.png in Resources */,
+ 7E3532AE19F06ECB0080126B /* Blue_Right1.png in Resources */,
+ 7E53690919EC228B005C3C64 /* Default.png in Resources */,
+ 7E53690A19EC228B005C3C64 /* Icon-58.png in Resources */,
+ 7E3532AC19F06ECB0080126B /* Blue_Left3.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E53692519EC22F4005C3C64 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E53692819EC22F4005C3C64 /* Blue_Front1.png in Resources */,
+ 7EC0CFCE19ECE10B00C41BDA /* dot.png in Resources */,
+ 7E35329D19F06ECB0080126B /* Blue_Back1.png in Resources */,
+ 7E53692919EC22F4005C3C64 /* LightBlue_Front1.png in Resources */,
+ 7E3532B119F06ECB0080126B /* Blue_Right2.png in Resources */,
+ 7E3532A519F06ECB0080126B /* Blue_Front2.png in Resources */,
+ 7E3532AB19F06ECB0080126B /* Blue_Left2.png in Resources */,
+ 7E3532A119F06ECB0080126B /* Blue_Back3.png in Resources */,
+ 7E53692A19EC22F4005C3C64 /* White_Front1.png in Resources */,
+ 7E3532AF19F06ECB0080126B /* Blue_Right1.png in Resources */,
+ 7E3532AD19F06ECB0080126B /* Blue_Left3.png in Resources */,
+ 7E35329F19F06ECB0080126B /* Blue_Back2.png in Resources */,
+ 7E3532A319F06ECB0080126B /* Blue_Front1.png in Resources */,
+ 7E53692B19EC22F4005C3C64 /* ZigzagForest_Square.png in Resources */,
+ 7E3532B319F06ECB0080126B /* Blue_Right3.png in Resources */,
+ 7E3532A919F06ECB0080126B /* Blue_Left1.png in Resources */,
+ 7E53692C19EC22F4005C3C64 /* ZigzagGrass_Mud_Round.png in Resources */,
+ 7E53692D19EC22F4005C3C64 /* Icon.icns in Resources */,
+ 7E53692E19EC22F4005C3C64 /* Marker Felt.ttf in Resources */,
+ 7E3532A719F06ECB0080126B /* Blue_Front3.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E914A451A1BC3F200C6B2D4 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E914A461A1BC3F200C6B2D4 /* Icon-120.png in Resources */,
+ 7E914A471A1BC3F200C6B2D4 /* Icon-76.png in Resources */,
+ 7E914A481A1BC3F200C6B2D4 /* Default@2x.png in Resources */,
+ 7E914A4A1A1BC3F200C6B2D4 /* Icon-100.png in Resources */,
+ 7E914A4B1A1BC3F200C6B2D4 /* Icon-152.png in Resources */,
+ 7E914A4C1A1BC3F200C6B2D4 /* Default-568h@2x.png in Resources */,
+ 7E914A4D1A1BC3F200C6B2D4 /* Icon-72.png in Resources */,
+ 7E914A4E1A1BC3F200C6B2D4 /* Icon-50.png in Resources */,
+ 7E914A4F1A1BC3F200C6B2D4 /* Marker Felt.ttf in Resources */,
+ 7E914A501A1BC3F200C6B2D4 /* Icon-114.png in Resources */,
+ 7E914A511A1BC3F200C6B2D4 /* Icon-29.png in Resources */,
+ 7E914A531A1BC3F200C6B2D4 /* Icon-40.png in Resources */,
+ 7E914A541A1BC3F200C6B2D4 /* Icon-144.png in Resources */,
+ 7E914A551A1BC3F200C6B2D4 /* Icon-80.png in Resources */,
+ 7E914A561A1BC3F200C6B2D4 /* Icon-57.png in Resources */,
+ 7E914A571A1BC3F200C6B2D4 /* Default.png in Resources */,
+ 7E914A581A1BC3F200C6B2D4 /* Icon-58.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E914A731A1BC40200C6B2D4 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E914A751A1BC40200C6B2D4 /* Icon.icns in Resources */,
+ 7E914A761A1BC40200C6B2D4 /* Marker Felt.ttf in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E9571A119F1938B00F6AE44 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E9571A219F1938B00F6AE44 /* Icon-120.png in Resources */,
+ 7E9571A519F1938B00F6AE44 /* Icon-76.png in Resources */,
+ 7E9571A719F1938B00F6AE44 /* Default@2x.png in Resources */,
+ 7E9571A819F1938B00F6AE44 /* Icon-100.png in Resources */,
+ 7E9571A919F1938B00F6AE44 /* Icon-152.png in Resources */,
+ 7E9571AA19F1938B00F6AE44 /* Default-568h@2x.png in Resources */,
+ 7E9571AB19F1938B00F6AE44 /* Icon-72.png in Resources */,
+ 7E9571AD19F1938B00F6AE44 /* Icon-50.png in Resources */,
+ 7E9571AE19F1938B00F6AE44 /* Marker Felt.ttf in Resources */,
+ 7E9571AF19F1938B00F6AE44 /* Icon-114.png in Resources */,
+ 7E9571B019F1938B00F6AE44 /* Icon-29.png in Resources */,
+ 7E9571B119F1938B00F6AE44 /* Icon-40.png in Resources */,
+ 7E9571B219F1938B00F6AE44 /* Icon-144.png in Resources */,
+ 7E9571B319F1938B00F6AE44 /* Icon-80.png in Resources */,
+ 7E9571B619F1938B00F6AE44 /* Icon-57.png in Resources */,
+ 7E9571BA19F1938B00F6AE44 /* Default.png in Resources */,
+ 7E9571BB19F1938B00F6AE44 /* Icon-58.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E9571D619F196D200F6AE44 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E9571E819F196D200F6AE44 /* Icon.icns in Resources */,
+ 7E9571E919F196D200F6AE44 /* Marker Felt.ttf in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E95720519F197BA00F6AE44 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E95720619F197BA00F6AE44 /* Icon-120.png in Resources */,
+ 7E95720719F197BA00F6AE44 /* Icon-76.png in Resources */,
+ 7E95720819F197BA00F6AE44 /* Default@2x.png in Resources */,
+ 7E95725219F1993300F6AE44 /* music.mp3 in Resources */,
+ 7E95720919F197BA00F6AE44 /* Icon-100.png in Resources */,
+ 7E95720A19F197BA00F6AE44 /* Icon-152.png in Resources */,
+ 7E95720B19F197BA00F6AE44 /* Default-568h@2x.png in Resources */,
+ 7E95720C19F197BA00F6AE44 /* Icon-72.png in Resources */,
+ 7E95720D19F197BA00F6AE44 /* Icon-50.png in Resources */,
+ 7E95720E19F197BA00F6AE44 /* Marker Felt.ttf in Resources */,
+ 7E95720F19F197BA00F6AE44 /* Icon-114.png in Resources */,
+ 7E95721019F197BA00F6AE44 /* Icon-29.png in Resources */,
+ 7E95725019F1993300F6AE44 /* alert.mp3 in Resources */,
+ 7E95721119F197BA00F6AE44 /* Icon-40.png in Resources */,
+ 7E95721219F197BA00F6AE44 /* Icon-144.png in Resources */,
+ 7E95721319F197BA00F6AE44 /* Icon-80.png in Resources */,
+ 7E95721419F197BA00F6AE44 /* Icon-57.png in Resources */,
+ 7E95721519F197BA00F6AE44 /* Default.png in Resources */,
+ 7E95721619F197BA00F6AE44 /* Icon-58.png in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E95722F19F197F500F6AE44 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E95725319F1993300F6AE44 /* music.mp3 in Resources */,
+ 7E95723019F197F500F6AE44 /* Icon.icns in Resources */,
+ 7E95723119F197F500F6AE44 /* Marker Felt.ttf in Resources */,
+ 7E95725119F1993300F6AE44 /* alert.mp3 in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7EBF314219E7803F00A7FBEA /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7EBF314319E7803F00A7FBEA /* Icon-120.png in Resources */,
+ 50A5DBBF19EC441300082E51 /* sprites.plist in Resources */,
+ 7EBF314519E7803F00A7FBEA /* Blue_Front1.png in Resources */,
+ 7EBF314619E7803F00A7FBEA /* Icon-76.png in Resources */,
+ 7EBF318219E8485600A7FBEA /* Chapter 3 iOS-Info.plist in Resources */,
+ 7EBF314719E7803F00A7FBEA /* Default@2x.png in Resources */,
+ 7EBF314819E7803F00A7FBEA /* Icon-100.png in Resources */,
+ 7EBF314919E7803F00A7FBEA /* Icon-152.png in Resources */,
+ 7EBF314A19E7803F00A7FBEA /* Default-568h@2x.png in Resources */,
+ 7EBF314B19E7803F00A7FBEA /* Icon-72.png in Resources */,
+ 7EBF314C19E7803F00A7FBEA /* ZigzagForest_Square.png in Resources */,
+ 7EBF314D19E7803F00A7FBEA /* Icon-50.png in Resources */,
+ 7EBF318319E84A1F00A7FBEA /* Marker Felt.ttf in Resources */,
+ 7EBF314E19E7803F00A7FBEA /* Icon-114.png in Resources */,
+ 7EBF315019E7803F00A7FBEA /* Icon-29.png in Resources */,
+ 7EBF315119E7803F00A7FBEA /* Icon-40.png in Resources */,
+ 7EBF315219E7803F00A7FBEA /* Icon-144.png in Resources */,
+ 7EBF315419E7803F00A7FBEA /* Icon-80.png in Resources */,
+ 7EBF315619E7803F00A7FBEA /* LightBlue_Front1.png in Resources */,
+ 7EBF315719E7803F00A7FBEA /* ZigzagGrass_Mud_Round.png in Resources */,
+ 7EBF315819E7803F00A7FBEA /* Icon-57.png in Resources */,
+ 7EC0CFCB19ECD4BD00C41BDA /* dot.png in Resources */,
+ 50A5DBC119EC441300082E51 /* sprites.pvr.ccz in Resources */,
+ 7EBF315919E7803F00A7FBEA /* White_Front1.png in Resources */,
+ 7EBF315A19E7803F00A7FBEA /* Default.png in Resources */,
+ 7EBF315B19E7803F00A7FBEA /* Icon-58.png in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -924,82 +2583,1089 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
- 5087E75617EB910900C73F5D /* Sources */ = {
+ 296358DC19F78D4F003732AB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 50BA599F19D493310070A133 /* AppDelegate.cpp in Sources */,
- 7E273C8119D9CE460029CCC0 /* Chapter2Level1.cpp in Sources */,
- 503AE10517EB98FF00D1A890 /* main.cpp in Sources */,
- 50BA59A119D493310070A133 /* Chapter2.cpp in Sources */,
+ 296358DE19F78D4F003732AB /* AppController.mm in Sources */,
+ 296358F819F78D81003732AB /* AppDelegate.cpp in Sources */,
+ 296358F919F78D81003732AB /* Chapter6.cpp in Sources */,
+ 296358E019F78D4F003732AB /* RootViewController.mm in Sources */,
+ 296358E119F78D4F003732AB /* main.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 50BA59CA19D4992C0070A133 /* Sources */ = {
+ 2963592E19F78F74003732AB /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 50BA5A0419D49A2F0070A133 /* AppDelegate.cpp in Sources */,
- 5E453F6C19E5423D00AB3A5D /* Chapter10_2.cpp in Sources */,
- 5EAA122519E790B700B5D2BA /* Chapter10_5.cpp in Sources */,
- 5E453F7619E62AD000AB3A5D /* Chapter10_3.cpp in Sources */,
- 5E5874DD19E8DCB0009744B7 /* Chapter10_7.cpp in Sources */,
- 50BA5A0619D49A2F0070A133 /* Chapter10.cpp in Sources */,
- 50BA59CD19D4992C0070A133 /* AppController.mm in Sources */,
- 5E453F5E19E5178500AB3A5D /* Chapter10_1.cpp in Sources */,
- 5EAA122919E7D1E400B5D2BA /* DrawNode3D.cpp in Sources */,
- 5E453FA419E6309600AB3A5D /* Chapter10_4.cpp in Sources */,
- 5EAA122D19E7E69600B5D2BA /* Chapter10_6.cpp in Sources */,
- 50BA59CE19D4992C0070A133 /* RootViewController.mm in Sources */,
- 50BA59CF19D4992C0070A133 /* main.m in Sources */,
+ 2963594419F78F9D003732AB /* AppDelegate.cpp in Sources */,
+ 2963594519F78F9D003732AB /* AppDelegate.h in Sources */,
+ 2963594619F78F9D003732AB /* Chapter6.cpp in Sources */,
+ 2963594719F78F9D003732AB /* Chapter6.h in Sources */,
+ 2963593219F78F74003732AB /* main.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 50BA59EA19D499360070A133 /* Sources */ = {
+ 3EE7F8D619ED607500448914 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- 5E5874DE19E8DCB0009744B7 /* Chapter10_7.cpp in Sources */,
- 5EAA122A19E7D1E400B5D2BA /* DrawNode3D.cpp in Sources */,
- 5EAA122E19E7E69600B5D2BA /* Chapter10_6.cpp in Sources */,
- 5E453F7719E62AD000AB3A5D /* Chapter10_3.cpp in Sources */,
- 5E453F6D19E5423D00AB3A5D /* Chapter10_2.cpp in Sources */,
- 5E453FA519E6309600AB3A5D /* Chapter10_4.cpp in Sources */,
- 50BA5A0519D49A2F0070A133 /* AppDelegate.cpp in Sources */,
- 5EAA122619E790B700B5D2BA /* Chapter10_5.cpp in Sources */,
- 5E453F5F19E5178500AB3A5D /* Chapter10_1.cpp in Sources */,
- 50BA59EC19D499360070A133 /* main.cpp in Sources */,
- 50BA5A0719D49A2F0070A133 /* Chapter10.cpp in Sources */,
+ 3EE7F91619ED60DF00448914 /* Chapter12.cpp in Sources */,
+ 3EE7F8D919ED607500448914 /* AppController.mm in Sources */,
+ 3EE7F91419ED60DF00448914 /* AppDelegate.cpp in Sources */,
+ 3EE7F8DB19ED607500448914 /* RootViewController.mm in Sources */,
+ 3EE7F8DC19ED607500448914 /* main.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXTargetDependency section */
+ 3EE7F8F919ED607800448914 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 3EE7F91719ED60DF00448914 /* Chapter12.cpp in Sources */,
+ 3EE7F91519ED60DF00448914 /* AppDelegate.cpp in Sources */,
+ 3EE7F8FC19ED607800448914 /* main.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 5087E75617EB910900C73F5D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 50BA599F19D493310070A133 /* AppDelegate.cpp in Sources */,
+ 7E273C8119D9CE460029CCC0 /* Chapter2Level1.cpp in Sources */,
+ 503AE10517EB98FF00D1A890 /* main.cpp in Sources */,
+ 50BA59A119D493310070A133 /* Chapter2.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 50BA59CA19D4992C0070A133 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E53689519EAD894005C3C64 /* DrawNode3D.cpp in Sources */,
+ 7E53688B19EAD894005C3C64 /* Chapter9_5.cpp in Sources */,
+ 7E53688F19EAD894005C3C64 /* Chapter9_7.cpp in Sources */,
+ 7E53688519EAD894005C3C64 /* Chapter9_2.cpp in Sources */,
+ 7E53688119EAD894005C3C64 /* AppDelegate.cpp in Sources */,
+ 7E53688919EAD894005C3C64 /* Chapter9_4.cpp in Sources */,
+ 7E53688319EAD894005C3C64 /* Chapter9_1.cpp in Sources */,
+ 7E53689119EAD894005C3C64 /* Chapter9_8.cpp in Sources */,
+ 7E53689319EAD894005C3C64 /* Chapter9.cpp in Sources */,
+ 7E53688719EAD894005C3C64 /* Chapter9_3.cpp in Sources */,
+ 7E53688D19EAD894005C3C64 /* Chapter9_6.cpp in Sources */,
+ 5E38D2C619F0F3DD0099B433 /* Chapter9_9.cpp in Sources */,
+ 50BA59CD19D4992C0070A133 /* AppController.mm in Sources */,
+ 50BA59CE19D4992C0070A133 /* RootViewController.mm in Sources */,
+ 50BA59CF19D4992C0070A133 /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 50BA59EA19D499360070A133 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E53688619EAD894005C3C64 /* Chapter9_2.cpp in Sources */,
+ 7E53688819EAD894005C3C64 /* Chapter9_3.cpp in Sources */,
+ 7E53688C19EAD894005C3C64 /* Chapter9_5.cpp in Sources */,
+ 7E53688219EAD894005C3C64 /* AppDelegate.cpp in Sources */,
+ 7E53689019EAD894005C3C64 /* Chapter9_7.cpp in Sources */,
+ 7E53688E19EAD894005C3C64 /* Chapter9_6.cpp in Sources */,
+ 7E53689619EAD894005C3C64 /* DrawNode3D.cpp in Sources */,
+ 7E53689219EAD894005C3C64 /* Chapter9_8.cpp in Sources */,
+ 5E38D2C719F0F3DD0099B433 /* Chapter9_9.cpp in Sources */,
+ 7E53688419EAD894005C3C64 /* Chapter9_1.cpp in Sources */,
+ 7E53689419EAD894005C3C64 /* Chapter9.cpp in Sources */,
+ 7E53688A19EAD894005C3C64 /* Chapter9_4.cpp in Sources */,
+ 50BA59EC19D499360070A133 /* main.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E5368C319EC20DE005C3C64 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E5368EA19EC217B005C3C64 /* AppDelegate.cpp in Sources */,
+ 7E5368EB19EC217B005C3C64 /* AppDelegate.h in Sources */,
+ 7E5368EC19EC217B005C3C64 /* Chapter3.cpp in Sources */,
+ 7E5368ED19EC217B005C3C64 /* Chapter3.h in Sources */,
+ 7E5368CF19EC20DE005C3C64 /* main.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E53690B19EC228B005C3C64 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E53694C19EC234D005C3C64 /* Chapter4.cpp in Sources */,
+ 7E53690E19EC228B005C3C64 /* AppController.mm in Sources */,
+ 7E53694A19EC234D005C3C64 /* AppDelegate.cpp in Sources */,
+ 7E53690F19EC228B005C3C64 /* RootViewController.mm in Sources */,
+ 7E53691019EC228B005C3C64 /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E53692F19EC22F4005C3C64 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E53694B19EC234D005C3C64 /* AppDelegate.cpp in Sources */,
+ 7E53694D19EC234D005C3C64 /* Chapter4.cpp in Sources */,
+ 7E53693119EC22F4005C3C64 /* AppDelegate.h in Sources */,
+ 7E53693419EC22F4005C3C64 /* main.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E914A591A1BC3F200C6B2D4 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E914A921A1BC8F500C6B2D4 /* AppDelegate.cpp in Sources */,
+ 7E914A5B1A1BC3F200C6B2D4 /* AppController.mm in Sources */,
+ 7E914A5C1A1BC3F200C6B2D4 /* RootViewController.mm in Sources */,
+ 7E914A941A1BC8F500C6B2D4 /* Chapter5.cpp in Sources */,
+ 7E914A5E1A1BC3F200C6B2D4 /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E914A781A1BC40200C6B2D4 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E914A951A1BC8F500C6B2D4 /* Chapter5.cpp in Sources */,
+ 7E914A931A1BC8F500C6B2D4 /* AppDelegate.cpp in Sources */,
+ 7E914A7B1A1BC40200C6B2D4 /* main.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E9571BC19F1938B00F6AE44 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E9571BF19F1938B00F6AE44 /* AppController.mm in Sources */,
+ 7E9571C019F1938B00F6AE44 /* RootViewController.mm in Sources */,
+ 7E9571C119F1938B00F6AE44 /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E9571EB19F196D200F6AE44 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E9571EF19F196D200F6AE44 /* main.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E95721719F197BA00F6AE44 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E95724919F1983600F6AE44 /* AppDelegate.cpp in Sources */,
+ 7E95721819F197BA00F6AE44 /* AppController.mm in Sources */,
+ 7E95721919F197BA00F6AE44 /* RootViewController.mm in Sources */,
+ 7E95724B19F1983600F6AE44 /* Chapter13.cpp in Sources */,
+ 7E95721A19F197BA00F6AE44 /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7E95723219F197F500F6AE44 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E95724C19F1983600F6AE44 /* Chapter13.cpp in Sources */,
+ 7E95724A19F1983600F6AE44 /* AppDelegate.cpp in Sources */,
+ 7E95723319F197F500F6AE44 /* main.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 7EBF315C19E7803F00A7FBEA /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7EBF317B19E7807500A7FBEA /* AppDelegate.cpp in Sources */,
+ 7EBF318019E843F100A7FBEA /* Chapter3.cpp in Sources */,
+ 7EBF315F19E7803F00A7FBEA /* AppController.mm in Sources */,
+ 7EBF316119E7803F00A7FBEA /* RootViewController.mm in Sources */,
+ 7EBF316219E7803F00A7FBEA /* main.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 296358B919F78D4F003732AB /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d iOS";
+ targetProxy = 296358BA19F78D4F003732AB /* PBXContainerItemProxy */;
+ };
+ 2963591719F78F74003732AB /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 2963591819F78F74003732AB /* PBXContainerItemProxy */;
+ };
+ 3EE7F8BD19ED607500448914 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d iOS";
+ targetProxy = 3EE7F8BE19ED607500448914 /* PBXContainerItemProxy */;
+ };
+ 3EE7F8EF19ED607800448914 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 3EE7F8F019ED607800448914 /* PBXContainerItemProxy */;
+ };
50BA599519D492F50070A133 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "libcocos2d iOS";
targetProxy = 50BA599419D492F50070A133 /* PBXContainerItemProxy */;
};
- 50BA599719D492FA0070A133 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "libcocos2d Mac";
- targetProxy = 50BA599619D492FA0070A133 /* PBXContainerItemProxy */;
+ 50BA599719D492FA0070A133 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 50BA599619D492FA0070A133 /* PBXContainerItemProxy */;
+ };
+ 50BA59B319D4992C0070A133 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d iOS";
+ targetProxy = 50BA59B419D4992C0070A133 /* PBXContainerItemProxy */;
+ };
+ 50BA59E219D499360070A133 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 50BA59E319D499360070A133 /* PBXContainerItemProxy */;
+ };
+ 7E53689E19EC20DE005C3C64 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 7E53689F19EC20DE005C3C64 /* PBXContainerItemProxy */;
+ };
+ 7E5368EF19EC228B005C3C64 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d iOS";
+ targetProxy = 7E5368F019EC228B005C3C64 /* PBXContainerItemProxy */;
+ };
+ 7E53692319EC22F4005C3C64 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 7E53692419EC22F4005C3C64 /* PBXContainerItemProxy */;
+ };
+ 7E914A431A1BC3F200C6B2D4 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d iOS";
+ targetProxy = 7E914A441A1BC3F200C6B2D4 /* PBXContainerItemProxy */;
+ };
+ 7E914A711A1BC40200C6B2D4 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 7E914A721A1BC40200C6B2D4 /* PBXContainerItemProxy */;
+ };
+ 7E95719F19F1938B00F6AE44 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d iOS";
+ targetProxy = 7E9571A019F1938B00F6AE44 /* PBXContainerItemProxy */;
+ };
+ 7E9571D419F196D200F6AE44 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 7E9571D519F196D200F6AE44 /* PBXContainerItemProxy */;
+ };
+ 7E95720319F197BA00F6AE44 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d iOS";
+ targetProxy = 7E95720419F197BA00F6AE44 /* PBXContainerItemProxy */;
+ };
+ 7E95722D19F197F500F6AE44 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d Mac";
+ targetProxy = 7E95722E19F197F500F6AE44 /* PBXContainerItemProxy */;
+ };
+ 7EBF314019E7803F00A7FBEA /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = "libcocos2d iOS";
+ targetProxy = 7EBF314119E7803F00A7FBEA /* PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+ 1D6058940D05DD3E006BFB54 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 2";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 1D6058950D05DD3E006BFB54 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 2";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 296358EF19F78D4F003732AB /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 6 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 296358F019F78D4F003732AB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 6 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 2963594019F78F74003732AB /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 6 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 2963594119F78F74003732AB /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 6 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 3EE7F8EA19ED607500448914 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 12 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 3EE7F8EB19ED607500448914 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 12 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 3EE7F90B19ED607800448914 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 12 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 3EE7F90C19ED607800448914 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 12 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 5087E76D17EB910900C73F5D /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 2 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 5087E76E17EB910900C73F5D /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 2 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 50BA59DD19D4992C0070A133 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 9 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 50BA59DE19D4992C0070A133 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 9 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 50BA59FB19D499360070A133 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 9 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 50BA59FC19D499360070A133 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 9 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 7E5368DD19EC20DE005C3C64 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 3 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 7E5368DE19EC20DE005C3C64 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 3 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 7E53691E19EC228B005C3C64 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 4 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 7E53691F19EC228B005C3C64 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 4 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 7E53694219EC22F4005C3C64 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 4 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 7E53694319EC22F4005C3C64 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 4 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 7E914A6C1A1BC3F200C6B2D4 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 5 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 7E914A6D1A1BC3F200C6B2D4 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 5 iOS";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
};
- 50BA59B319D4992C0070A133 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "libcocos2d iOS";
- targetProxy = 50BA59B419D4992C0070A133 /* PBXContainerItemProxy */;
+ 7E914A891A1BC40200C6B2D4 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 5 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
};
- 50BA59E219D499360070A133 /* PBXTargetDependency */ = {
- isa = PBXTargetDependency;
- name = "libcocos2d Mac";
- targetProxy = 50BA59E319D499360070A133 /* PBXContainerItemProxy */;
+ 7E914A8A1A1BC40200C6B2D4 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ CLANG_CXX_LANGUAGE_STANDARD = "c++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = mac/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_MAC,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
+ "$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
+ );
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 5 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
};
-/* End PBXTargetDependency section */
-
-/* Begin XCBuildConfiguration section */
- 1D6058940D05DD3E006BFB54 /* Debug */ = {
+ 7E9571CF19F1938B00F6AE44 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
@@ -1021,17 +3687,17 @@
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
);
- INFOPLIST_FILE = ios/Info.plist;
+ INFOPLIST_FILE = "iOS-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LIBRARY_SEARCH_PATHS = "";
- PRODUCT_NAME = "Programmers Guide iOS";
+ PRODUCT_NAME = "Chapter 8 iOS";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "";
};
name = Debug;
};
- 1D6058950D05DD3E006BFB54 /* Release */ = {
+ 7E9571D019F1938B00F6AE44 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
@@ -1051,17 +3717,17 @@
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
);
- INFOPLIST_FILE = ios/Info.plist;
+ INFOPLIST_FILE = "iOS-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LIBRARY_SEARCH_PATHS = "";
- PRODUCT_NAME = "Programmers Guide iOS";
+ PRODUCT_NAME = "Chapter 8 iOS";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "";
};
name = Release;
};
- 5087E76D17EB910900C73F5D /* Debug */ = {
+ 7E9571FD19F196D200F6AE44 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
@@ -1084,14 +3750,14 @@
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
"$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
);
- INFOPLIST_FILE = mac/Info.plist;
+ INFOPLIST_FILE = "Mac-Info.plist";
LIBRARY_SEARCH_PATHS = "";
- PRODUCT_NAME = "Programmers Guide Mac";
+ PRODUCT_NAME = "Chapter 8 Mac";
USER_HEADER_SEARCH_PATHS = "";
};
name = Debug;
};
- 5087E76E17EB910900C73F5D /* Release */ = {
+ 7E9571FE19F196D200F6AE44 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
@@ -1112,14 +3778,14 @@
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
"$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
);
- INFOPLIST_FILE = mac/Info.plist;
+ INFOPLIST_FILE = "Mac-Info.plist";
LIBRARY_SEARCH_PATHS = "";
- PRODUCT_NAME = "Programmers Guide Mac";
+ PRODUCT_NAME = "Chapter 8 Mac";
USER_HEADER_SEARCH_PATHS = "";
};
name = Release;
};
- 50BA59DD19D4992C0070A133 /* Debug */ = {
+ 7E95722819F197BA00F6AE44 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
@@ -1141,17 +3807,17 @@
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
);
- INFOPLIST_FILE = "Chapter 2 iOS copy-Info.plist";
+ INFOPLIST_FILE = "iOS-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LIBRARY_SEARCH_PATHS = "";
- PRODUCT_NAME = "Chapter 2 iOS copy";
+ PRODUCT_NAME = "Chapter 13 iOS";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "";
};
name = Debug;
};
- 50BA59DE19D4992C0070A133 /* Release */ = {
+ 7E95722919F197BA00F6AE44 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
@@ -1171,17 +3837,17 @@
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
);
- INFOPLIST_FILE = "Chapter 2 iOS copy-Info.plist";
+ INFOPLIST_FILE = "iOS-Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LIBRARY_SEARCH_PATHS = "";
- PRODUCT_NAME = "Chapter 2 iOS copy";
+ PRODUCT_NAME = "Chapter 13 iOS";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "";
};
name = Release;
};
- 50BA59FB19D499360070A133 /* Debug */ = {
+ 7E95724119F197F500F6AE44 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
@@ -1204,14 +3870,14 @@
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
"$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
);
- INFOPLIST_FILE = "Chapter 2 Mac copy-Info.plist";
+ INFOPLIST_FILE = "Mac-Info.plist";
LIBRARY_SEARCH_PATHS = "";
- PRODUCT_NAME = "Chapter 2 Mac copy";
+ PRODUCT_NAME = "Chapter 13 Mac";
USER_HEADER_SEARCH_PATHS = "";
};
name = Debug;
};
- 50BA59FC19D499360070A133 /* Release */ = {
+ 7E95724219F197F500F6AE44 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = YES;
@@ -1232,9 +3898,71 @@
"$(SRCROOT)/../libs/cocos2d-x/cocos/platform/mac",
"$(SRCROOT)/../libs/cocos2d-x/external/glfw3/include/mac",
);
- INFOPLIST_FILE = "Chapter 2 Mac copy-Info.plist";
+ INFOPLIST_FILE = "Mac-Info.plist";
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 13 Mac";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+ 7EBF317019E7803F00A7FBEA /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "COCOS2D_DEBUG=1",
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
+ LIBRARY_SEARCH_PATHS = "";
+ PRODUCT_NAME = "Chapter 3";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ 7EBF317119E7803F00A7FBEA /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ COMPRESS_PNG_FILES = NO;
+ GCC_INLINES_ARE_PRIVATE_EXTERN = NO;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = ios/Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ USE_FILE32API,
+ CC_TARGET_OS_IPHONE,
+ "CC_ENABLE_CHIPMUNK_INTEGRATION=1",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ HEADER_SEARCH_PATHS = (
+ "$(inherited)",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios",
+ "$(SRCROOT)/../libs/cocos2d-x/cocos/platform/ios/Simulation",
+ );
+ INFOPLIST_FILE = "iOS-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 5.0;
LIBRARY_SEARCH_PATHS = "";
- PRODUCT_NAME = "Chapter 2 Mac copy";
+ PRODUCT_NAME = "Chapter 3";
+ SDKROOT = iphoneos;
+ TARGETED_DEVICE_FAMILY = "1,2";
USER_HEADER_SEARCH_PATHS = "";
};
name = Release;
@@ -1292,6 +4020,42 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
+ 296358EE19F78D4F003732AB /* Build configuration list for PBXNativeTarget "Chapter 6 iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 296358EF19F78D4F003732AB /* Debug */,
+ 296358F019F78D4F003732AB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 2963593F19F78F74003732AB /* Build configuration list for PBXNativeTarget "Chapter 6 Mac" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 2963594019F78F74003732AB /* Debug */,
+ 2963594119F78F74003732AB /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 3EE7F8E919ED607500448914 /* Build configuration list for PBXNativeTarget "Chapter 12 iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3EE7F8EA19ED607500448914 /* Debug */,
+ 3EE7F8EB19ED607500448914 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 3EE7F90A19ED607800448914 /* Build configuration list for PBXNativeTarget "Chapter 12 Mac" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 3EE7F90B19ED607800448914 /* Debug */,
+ 3EE7F90C19ED607800448914 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
5087E76C17EB910900C73F5D /* Build configuration list for PBXNativeTarget "Chapter 2 Mac" */ = {
isa = XCConfigurationList;
buildConfigurations = (
@@ -1301,7 +4065,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
- 50BA59DC19D4992C0070A133 /* Build configuration list for PBXNativeTarget "Chapter 10 iOS" */ = {
+ 50BA59DC19D4992C0070A133 /* Build configuration list for PBXNativeTarget "Chapter 9 iOS" */ = {
isa = XCConfigurationList;
buildConfigurations = (
50BA59DD19D4992C0070A133 /* Debug */,
@@ -1310,7 +4074,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
- 50BA59FA19D499360070A133 /* Build configuration list for PBXNativeTarget "Chapter 10 Mac" */ = {
+ 50BA59FA19D499360070A133 /* Build configuration list for PBXNativeTarget "Chapter 9 Mac" */ = {
isa = XCConfigurationList;
buildConfigurations = (
50BA59FB19D499360070A133 /* Debug */,
@@ -1319,6 +4083,96 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Debug;
};
+ 7E5368DC19EC20DE005C3C64 /* Build configuration list for PBXNativeTarget "Chapter 3 Mac" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E5368DD19EC20DE005C3C64 /* Debug */,
+ 7E5368DE19EC20DE005C3C64 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7E53691D19EC228B005C3C64 /* Build configuration list for PBXNativeTarget "Chapter 4 iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E53691E19EC228B005C3C64 /* Debug */,
+ 7E53691F19EC228B005C3C64 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7E53694119EC22F4005C3C64 /* Build configuration list for PBXNativeTarget "Chapter 4 Mac" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E53694219EC22F4005C3C64 /* Debug */,
+ 7E53694319EC22F4005C3C64 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7E914A6B1A1BC3F200C6B2D4 /* Build configuration list for PBXNativeTarget "Chapter 5 iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E914A6C1A1BC3F200C6B2D4 /* Debug */,
+ 7E914A6D1A1BC3F200C6B2D4 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7E914A881A1BC40200C6B2D4 /* Build configuration list for PBXNativeTarget "Chapter 5 Mac" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E914A891A1BC40200C6B2D4 /* Debug */,
+ 7E914A8A1A1BC40200C6B2D4 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7E9571CE19F1938B00F6AE44 /* Build configuration list for PBXNativeTarget "Chapter 8 iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E9571CF19F1938B00F6AE44 /* Debug */,
+ 7E9571D019F1938B00F6AE44 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7E9571FC19F196D200F6AE44 /* Build configuration list for PBXNativeTarget "Chapter 8 Mac" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E9571FD19F196D200F6AE44 /* Debug */,
+ 7E9571FE19F196D200F6AE44 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7E95722719F197BA00F6AE44 /* Build configuration list for PBXNativeTarget "Chapter 13 iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E95722819F197BA00F6AE44 /* Debug */,
+ 7E95722919F197BA00F6AE44 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7E95724019F197F500F6AE44 /* Build configuration list for PBXNativeTarget "Chapter 13 Mac" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7E95724119F197F500F6AE44 /* Debug */,
+ 7E95724219F197F500F6AE44 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
+ 7EBF316F19E7803F00A7FBEA /* Build configuration list for PBXNativeTarget "Chapter 3 iOS" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 7EBF317019E7803F00A7FBEA /* Debug */,
+ 7EBF317119E7803F00A7FBEA /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Debug;
+ };
C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Programmers Guide" */ = {
isa = XCConfigurationList;
buildConfigurations = (
diff --git a/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Chapter 2.xccheckout b/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Chapter 2.xccheckout
deleted file mode 100644
index 560fcdb..0000000
--- a/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Chapter 2.xccheckout
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
- IDESourceControlProjectFavoriteDictionaryKey
-
- IDESourceControlProjectIdentifier
- A8B26FE7-FC9A-46BE-8726-729AD7E8BF60
- IDESourceControlProjectName
- Chapter 2
- IDESourceControlProjectOriginsDictionary
-
- 54123B1436506F41A7C586AC3F460149AC886820
- https://github.com/chukong/programmers-guide-samples.git
- 852ED3691A47A99B0D19C820A500AE9772B2A44E
- https://github.com/cocos2d/cocos2d-x.git
-
- IDESourceControlProjectPath
- chapter2/proj.ios_mac/Chapter 2.xcodeproj
- IDESourceControlProjectRelativeInstallPathDictionary
-
- 54123B1436506F41A7C586AC3F460149AC886820
- ../../../..
- 852ED3691A47A99B0D19C820A500AE9772B2A44E
- ../../../..libs/cocos2d-x
-
- IDESourceControlProjectURL
- https://github.com/chukong/programmers-guide-samples.git
- IDESourceControlProjectVersion
- 111
- IDESourceControlProjectWCCIdentifier
- 54123B1436506F41A7C586AC3F460149AC886820
- IDESourceControlProjectWCConfigurations
-
-
- IDESourceControlRepositoryExtensionIdentifierKey
- public.vcs.git
- IDESourceControlWCCIdentifierKey
- 852ED3691A47A99B0D19C820A500AE9772B2A44E
- IDESourceControlWCCName
- cocos2d-x
-
-
- IDESourceControlRepositoryExtensionIdentifierKey
- public.vcs.git
- IDESourceControlWCCIdentifierKey
- 54123B1436506F41A7C586AC3F460149AC886820
- IDESourceControlWCCName
- programmers-guide-samples
-
-
-
-
diff --git a/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Programmers Guide.xccheckout b/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Programmers Guide.xccheckout
deleted file mode 100644
index 4821d09..0000000
--- a/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/Programmers Guide.xccheckout
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
-
-
- IDESourceControlProjectFavoriteDictionaryKey
-
- IDESourceControlProjectIdentifier
- F1C8E6BF-BD45-45C4-85D1-CF982452D767
- IDESourceControlProjectName
- Programmers Guide
- IDESourceControlProjectOriginsDictionary
-
- 54123B1436506F41A7C586AC3F460149AC886820
- https://github.com/chukong/programmers-guide-samples.git
- 852ED3691A47A99B0D19C820A500AE9772B2A44E
- https://github.com/cocos2d/cocos2d-x.git
-
- IDESourceControlProjectPath
- proj.ios_mac/Programmers Guide.xcodeproj
- IDESourceControlProjectRelativeInstallPathDictionary
-
- 54123B1436506F41A7C586AC3F460149AC886820
- ../../..
- 852ED3691A47A99B0D19C820A500AE9772B2A44E
- ../../..libs/cocos2d-x
-
- IDESourceControlProjectURL
- https://github.com/chukong/programmers-guide-samples.git
- IDESourceControlProjectVersion
- 111
- IDESourceControlProjectWCCIdentifier
- 54123B1436506F41A7C586AC3F460149AC886820
- IDESourceControlProjectWCConfigurations
-
-
- IDESourceControlRepositoryExtensionIdentifierKey
- public.vcs.git
- IDESourceControlWCCIdentifierKey
- 852ED3691A47A99B0D19C820A500AE9772B2A44E
- IDESourceControlWCCName
- cocos2d-x
-
-
- IDESourceControlRepositoryExtensionIdentifierKey
- public.vcs.git
- IDESourceControlWCCIdentifierKey
- 54123B1436506F41A7C586AC3F460149AC886820
- IDESourceControlWCCName
- programmers-guide-samples
-
-
-
-
diff --git a/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/chapter2.xccheckout b/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/chapter2.xccheckout
deleted file mode 100644
index 210d218..0000000
--- a/proj.ios_mac/Programmers Guide.xcodeproj/project.xcworkspace/xcshareddata/chapter2.xccheckout
+++ /dev/null
@@ -1,41 +0,0 @@
-
-
-
-
- IDESourceControlProjectFavoriteDictionaryKey
-
- IDESourceControlProjectIdentifier
- 95619BA6-C404-4ADD-904D-24D30F8859D1
- IDESourceControlProjectName
- chapter2
- IDESourceControlProjectOriginsDictionary
-
- 54123B1436506F41A7C586AC3F460149AC886820
- https://github.com/chukong/programmers-guide-samples.git
-
- IDESourceControlProjectPath
- chapter2/proj.ios_mac/chapter2.xcodeproj
- IDESourceControlProjectRelativeInstallPathDictionary
-
- 54123B1436506F41A7C586AC3F460149AC886820
- ../../../..
-
- IDESourceControlProjectURL
- https://github.com/chukong/programmers-guide-samples.git
- IDESourceControlProjectVersion
- 111
- IDESourceControlProjectWCCIdentifier
- 54123B1436506F41A7C586AC3F460149AC886820
- IDESourceControlProjectWCConfigurations
-
-
- IDESourceControlRepositoryExtensionIdentifierKey
- public.vcs.git
- IDESourceControlWCCIdentifierKey
- 54123B1436506F41A7C586AC3F460149AC886820
- IDESourceControlWCCName
- programmers-guide-samples
-
-
-
-
diff --git a/proj.ios_mac/Chapter 2 iOS copy-Info.plist b/proj.ios_mac/iOS-Info.plist
similarity index 97%
rename from proj.ios_mac/Chapter 2 iOS copy-Info.plist
rename to proj.ios_mac/iOS-Info.plist
index f8e4d38..a846c9a 100644
--- a/proj.ios_mac/Chapter 2 iOS copy-Info.plist
+++ b/proj.ios_mac/iOS-Info.plist
@@ -42,7 +42,7 @@
Icon-144.png
CFBundleIdentifier
- org.cocos2dx.chapter2
+ org.cocos2dx.${PRODUCT_NAME}
CFBundleInfoDictionaryVersion
6.0
CFBundleName
diff --git a/proj.ios_mac/sprites.plist b/proj.ios_mac/sprites.plist
new file mode 100644
index 0000000..f56e7de
--- /dev/null
+++ b/proj.ios_mac/sprites.plist
@@ -0,0 +1,87 @@
+
+
+
+
+ frames
+
+ Blue_Front1.png
+
+ frame
+ {{2,2},{65,81}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{65,81}}
+ sourceSize
+ {65,81}
+
+ LightBlue_Front1.png
+
+ frame
+ {{2,168},{65,79}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{65,79}}
+ sourceSize
+ {65,79}
+
+ White_Front1.png
+
+ frame
+ {{2,85},{65,81}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{65,81}}
+ sourceSize
+ {65,81}
+
+ ZigzagForest_Square.png
+
+ frame
+ {{2,249},{64,64}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{64,64}}
+ sourceSize
+ {64,64}
+
+ ZigzagGrass_Mud_Round.png
+
+ frame
+ {{2,315},{64,64}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{64,64}}
+ sourceSize
+ {64,64}
+
+
+ metadata
+
+ format
+ 2
+ realTextureFileName
+ sprites.pvr.ccz
+ size
+ {69,382}
+ smartupdate
+ $TexturePacker:SmartUpdate:2e01155d20cb55cd5bbd4eb50d43ff39:7b8b6ec505808c571e2013b70cd6adf9:65190eda994a633aa977088176b54359$
+ textureFileName
+ sprites.pvr.ccz
+
+
+
diff --git a/proj.ios_mac/sprites.pvr.ccz b/proj.ios_mac/sprites.pvr.ccz
new file mode 100644
index 0000000..77b1da5
Binary files /dev/null and b/proj.ios_mac/sprites.pvr.ccz differ
diff --git a/res/chapter12/LightBlueSprite.png b/res/chapter12/LightBlueSprite.png
new file mode 100644
index 0000000..0333223
Binary files /dev/null and b/res/chapter12/LightBlueSprite.png differ
diff --git a/res/chapter12/blueSprite.png b/res/chapter12/blueSprite.png
new file mode 100644
index 0000000..029ff5d
Binary files /dev/null and b/res/chapter12/blueSprite.png differ
diff --git a/res/chapter12/fonts/arial.ttf b/res/chapter12/fonts/arial.ttf
new file mode 100644
index 0000000..abc899c
Binary files /dev/null and b/res/chapter12/fonts/arial.ttf differ
diff --git a/res/chapter12/leftNormal.png b/res/chapter12/leftNormal.png
new file mode 100644
index 0000000..a3c16ad
Binary files /dev/null and b/res/chapter12/leftNormal.png differ
diff --git a/res/chapter12/leftSelected.png b/res/chapter12/leftSelected.png
new file mode 100644
index 0000000..ffa527c
Binary files /dev/null and b/res/chapter12/leftSelected.png differ
diff --git a/res/chapter12/restartNormal.png b/res/chapter12/restartNormal.png
new file mode 100644
index 0000000..6b51dc4
Binary files /dev/null and b/res/chapter12/restartNormal.png differ
diff --git a/res/chapter12/restartSelected.png b/res/chapter12/restartSelected.png
new file mode 100644
index 0000000..ef1f2b4
Binary files /dev/null and b/res/chapter12/restartSelected.png differ
diff --git a/res/chapter12/rightNormal.png b/res/chapter12/rightNormal.png
new file mode 100644
index 0000000..606181f
Binary files /dev/null and b/res/chapter12/rightNormal.png differ
diff --git a/res/chapter12/rightSelected.png b/res/chapter12/rightSelected.png
new file mode 100644
index 0000000..8cd548b
Binary files /dev/null and b/res/chapter12/rightSelected.png differ
diff --git a/res/chapter12/whiteSprite.png b/res/chapter12/whiteSprite.png
new file mode 100644
index 0000000..e5fd586
Binary files /dev/null and b/res/chapter12/whiteSprite.png differ
diff --git a/res/chapter13/alert.mp3 b/res/chapter13/alert.mp3
new file mode 100644
index 0000000..1ef4fee
Binary files /dev/null and b/res/chapter13/alert.mp3 differ
diff --git a/res/chapter13/music.mp3 b/res/chapter13/music.mp3
new file mode 100644
index 0000000..d7aa90b
Binary files /dev/null and b/res/chapter13/music.mp3 differ
diff --git a/res/chapter2/CloseNormal.png b/res/chapter2/CloseNormal.png
deleted file mode 100644
index 5657a13..0000000
Binary files a/res/chapter2/CloseNormal.png and /dev/null differ
diff --git a/res/chapter2/CloseSelected.png b/res/chapter2/CloseSelected.png
deleted file mode 100644
index e4c82da..0000000
Binary files a/res/chapter2/CloseSelected.png and /dev/null differ
diff --git a/res/chapter2/HelloWorld.png b/res/chapter2/HelloWorld.png
deleted file mode 100644
index 5fe89fb..0000000
Binary files a/res/chapter2/HelloWorld.png and /dev/null differ
diff --git a/res/chapter2/clouds_1.png b/res/chapter2/clouds_1.png
deleted file mode 100755
index 7ab3f01..0000000
Binary files a/res/chapter2/clouds_1.png and /dev/null differ
diff --git a/res/chapter2/fonts/Marker Felt.ttf b/res/chapter2/fonts/Marker Felt.ttf
deleted file mode 100644
index 3752ef3..0000000
Binary files a/res/chapter2/fonts/Marker Felt.ttf and /dev/null differ
diff --git a/res/chapter3/sprites.plist b/res/chapter3/sprites.plist
new file mode 100644
index 0000000..f56e7de
--- /dev/null
+++ b/res/chapter3/sprites.plist
@@ -0,0 +1,87 @@
+
+
+
+
+ frames
+
+ Blue_Front1.png
+
+ frame
+ {{2,2},{65,81}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{65,81}}
+ sourceSize
+ {65,81}
+
+ LightBlue_Front1.png
+
+ frame
+ {{2,168},{65,79}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{65,79}}
+ sourceSize
+ {65,79}
+
+ White_Front1.png
+
+ frame
+ {{2,85},{65,81}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{65,81}}
+ sourceSize
+ {65,81}
+
+ ZigzagForest_Square.png
+
+ frame
+ {{2,249},{64,64}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{64,64}}
+ sourceSize
+ {64,64}
+
+ ZigzagGrass_Mud_Round.png
+
+ frame
+ {{2,315},{64,64}}
+ offset
+ {0,0}
+ rotated
+
+ sourceColorRect
+ {{0,0},{64,64}}
+ sourceSize
+ {64,64}
+
+
+ metadata
+
+ format
+ 2
+ realTextureFileName
+ sprites.pvr.ccz
+ size
+ {69,382}
+ smartupdate
+ $TexturePacker:SmartUpdate:2e01155d20cb55cd5bbd4eb50d43ff39:7b8b6ec505808c571e2013b70cd6adf9:65190eda994a633aa977088176b54359$
+ textureFileName
+ sprites.pvr.ccz
+
+
+
diff --git a/res/chapter3/sprites.pvr.ccz b/res/chapter3/sprites.pvr.ccz
new file mode 100644
index 0000000..77b1da5
Binary files /dev/null and b/res/chapter3/sprites.pvr.ccz differ
diff --git a/res/chapter4/Blue_Back1.png b/res/chapter4/Blue_Back1.png
new file mode 100755
index 0000000..ce9521c
Binary files /dev/null and b/res/chapter4/Blue_Back1.png differ
diff --git a/res/chapter4/Blue_Back2.png b/res/chapter4/Blue_Back2.png
new file mode 100755
index 0000000..7b2bc0b
Binary files /dev/null and b/res/chapter4/Blue_Back2.png differ
diff --git a/res/chapter4/Blue_Back3.png b/res/chapter4/Blue_Back3.png
new file mode 100755
index 0000000..3fa6b3f
Binary files /dev/null and b/res/chapter4/Blue_Back3.png differ
diff --git a/res/chapter4/Blue_Front1.png b/res/chapter4/Blue_Front1.png
new file mode 100755
index 0000000..ae9d653
Binary files /dev/null and b/res/chapter4/Blue_Front1.png differ
diff --git a/res/chapter4/Blue_Front2.png b/res/chapter4/Blue_Front2.png
new file mode 100755
index 0000000..48de6f1
Binary files /dev/null and b/res/chapter4/Blue_Front2.png differ
diff --git a/res/chapter4/Blue_Front3.png b/res/chapter4/Blue_Front3.png
new file mode 100755
index 0000000..93369d5
Binary files /dev/null and b/res/chapter4/Blue_Front3.png differ
diff --git a/res/chapter4/Blue_Left1.png b/res/chapter4/Blue_Left1.png
new file mode 100755
index 0000000..7c1604d
Binary files /dev/null and b/res/chapter4/Blue_Left1.png differ
diff --git a/res/chapter4/Blue_Left2.png b/res/chapter4/Blue_Left2.png
new file mode 100755
index 0000000..ad5c8f4
Binary files /dev/null and b/res/chapter4/Blue_Left2.png differ
diff --git a/res/chapter4/Blue_Left3.png b/res/chapter4/Blue_Left3.png
new file mode 100755
index 0000000..62cbee8
Binary files /dev/null and b/res/chapter4/Blue_Left3.png differ
diff --git a/res/chapter4/Blue_Right1.png b/res/chapter4/Blue_Right1.png
new file mode 100755
index 0000000..5d5d2ae
Binary files /dev/null and b/res/chapter4/Blue_Right1.png differ
diff --git a/res/chapter4/Blue_Right2.png b/res/chapter4/Blue_Right2.png
new file mode 100755
index 0000000..ed52a30
Binary files /dev/null and b/res/chapter4/Blue_Right2.png differ
diff --git a/res/chapter4/Blue_Right3.png b/res/chapter4/Blue_Right3.png
new file mode 100755
index 0000000..48fedaa
Binary files /dev/null and b/res/chapter4/Blue_Right3.png differ
diff --git a/res/chapter6/fonts/arial.ttf b/res/chapter6/fonts/arial.ttf
new file mode 100644
index 0000000..abc899c
Binary files /dev/null and b/res/chapter6/fonts/arial.ttf differ
diff --git a/res/chapter6/fonts/bitmapFontTest.fnt b/res/chapter6/fonts/bitmapFontTest.fnt
new file mode 100755
index 0000000..7190f52
--- /dev/null
+++ b/res/chapter6/fonts/bitmapFontTest.fnt
@@ -0,0 +1,100 @@
+info face="ArtistampMedium" size=48 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
+common lineHeight=52 base=26 scaleW=256 scaleH=512 pages=1 packed=0
+page id=0 file="bitmapFontTest.png"
+chars count=94
+char id=32 x=0 y=0 width=0 height=0 xoffset=0 yoffset=44 xadvance=14 page=0 chnl=0
+char id=94 x=0 y=0 width=51 height=49 xoffset=1 yoffset=3 xadvance=51 page=0 chnl=0
+char id=95 x=51 y=0 width=82 height=48 xoffset=2 yoffset=4 xadvance=84 page=0 chnl=0
+char id=41 x=133 y=0 width=14 height=46 xoffset=1 yoffset=3 xadvance=13 page=0 chnl=0
+char id=40 x=147 y=0 width=16 height=46 xoffset=1 yoffset=3 xadvance=12 page=0 chnl=0
+char id=126 x=163 y=0 width=30 height=42 xoffset=2 yoffset=6 xadvance=31 page=0 chnl=0
+char id=47 x=193 y=0 width=24 height=42 xoffset=0 yoffset=6 xadvance=19 page=0 chnl=0
+char id=37 x=217 y=0 width=32 height=38 xoffset=1 yoffset=10 xadvance=31 page=0 chnl=0
+char id=36 x=0 y=49 width=22 height=38 xoffset=-1 yoffset=10 xadvance=18 page=0 chnl=0
+char id=93 x=22 y=49 width=11 height=38 xoffset=1 yoffset=8 xadvance=11 page=0 chnl=0
+char id=91 x=33 y=49 width=12 height=38 xoffset=1 yoffset=6 xadvance=8 page=0 chnl=0
+char id=84 x=45 y=49 width=29 height=38 xoffset=0 yoffset=8 xadvance=27 page=0 chnl=0
+char id=63 x=74 y=49 width=21 height=37 xoffset=1 yoffset=7 xadvance=20 page=0 chnl=0
+char id=122 x=95 y=49 width=24 height=37 xoffset=1 yoffset=9 xadvance=23 page=0 chnl=0
+char id=116 x=119 y=49 width=29 height=37 xoffset=0 yoffset=7 xadvance=26 page=0 chnl=0
+char id=113 x=148 y=49 width=29 height=37 xoffset=1 yoffset=9 xadvance=28 page=0 chnl=0
+char id=102 x=177 y=49 width=27 height=37 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0
+char id=101 x=204 y=49 width=27 height=37 xoffset=1 yoffset=9 xadvance=26 page=0 chnl=0
+char id=98 x=0 y=87 width=30 height=37 xoffset=1 yoffset=6 xadvance=28 page=0 chnl=0
+char id=87 x=30 y=87 width=44 height=37 xoffset=0 yoffset=8 xadvance=42 page=0 chnl=0
+char id=81 x=74 y=87 width=29 height=37 xoffset=1 yoffset=8 xadvance=29 page=0 chnl=0
+char id=74 x=103 y=87 width=25 height=37 xoffset=0 yoffset=7 xadvance=23 page=0 chnl=0
+char id=70 x=128 y=87 width=27 height=37 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0
+char id=69 x=155 y=87 width=28 height=37 xoffset=1 yoffset=10 xadvance=27 page=0 chnl=0
+char id=66 x=183 y=87 width=30 height=37 xoffset=1 yoffset=7 xadvance=29 page=0 chnl=0
+char id=65 x=213 y=87 width=30 height=37 xoffset=0 yoffset=8 xadvance=29 page=0 chnl=0
+char id=38 x=0 y=124 width=32 height=36 xoffset=0 yoffset=7 xadvance=29 page=0 chnl=0
+char id=64 x=32 y=124 width=40 height=36 xoffset=0 yoffset=10 xadvance=33 page=0 chnl=0
+char id=57 x=72 y=124 width=21 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0
+char id=56 x=93 y=124 width=21 height=36 xoffset=1 yoffset=7 xadvance=20 page=0 chnl=0
+char id=55 x=114 y=124 width=21 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0
+char id=54 x=135 y=124 width=21 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0
+char id=53 x=156 y=124 width=21 height=36 xoffset=1 yoffset=10 xadvance=20 page=0 chnl=0
+char id=52 x=177 y=124 width=21 height=36 xoffset=1 yoffset=7 xadvance=21 page=0 chnl=0
+char id=51 x=198 y=124 width=21 height=36 xoffset=1 yoffset=9 xadvance=20 page=0 chnl=0
+char id=50 x=219 y=124 width=22 height=36 xoffset=1 yoffset=11 xadvance=21 page=0 chnl=0
+char id=120 x=0 y=160 width=31 height=36 xoffset=0 yoffset=8 xadvance=28 page=0 chnl=0
+char id=119 x=31 y=160 width=46 height=36 xoffset=0 yoffset=10 xadvance=39 page=0 chnl=0
+char id=117 x=77 y=160 width=29 height=36 xoffset=1 yoffset=10 xadvance=27 page=0 chnl=0
+char id=115 x=106 y=160 width=26 height=36 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0
+char id=114 x=132 y=160 width=29 height=36 xoffset=1 yoffset=9 xadvance=28 page=0 chnl=0
+char id=110 x=161 y=160 width=29 height=36 xoffset=1 yoffset=9 xadvance=28 page=0 chnl=0
+char id=109 x=190 y=160 width=38 height=36 xoffset=1 yoffset=9 xadvance=37 page=0 chnl=0
+char id=108 x=0 y=196 width=29 height=36 xoffset=0 yoffset=7 xadvance=24 page=0 chnl=0
+char id=106 x=29 y=196 width=24 height=36 xoffset=1 yoffset=8 xadvance=22 page=0 chnl=0
+char id=104 x=53 y=196 width=31 height=36 xoffset=1 yoffset=9 xadvance=30 page=0 chnl=0
+char id=100 x=84 y=196 width=29 height=36 xoffset=1 yoffset=9 xadvance=27 page=0 chnl=0
+char id=99 x=113 y=196 width=27 height=36 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0
+char id=97 x=140 y=196 width=31 height=36 xoffset=0 yoffset=8 xadvance=29 page=0 chnl=0
+char id=90 x=171 y=196 width=25 height=36 xoffset=1 yoffset=8 xadvance=24 page=0 chnl=0
+char id=89 x=196 y=196 width=30 height=36 xoffset=0 yoffset=9 xadvance=28 page=0 chnl=0
+char id=88 x=0 y=232 width=31 height=36 xoffset=0 yoffset=10 xadvance=28 page=0 chnl=0
+char id=85 x=31 y=232 width=29 height=36 xoffset=1 yoffset=9 xadvance=27 page=0 chnl=0
+char id=83 x=60 y=232 width=26 height=36 xoffset=1 yoffset=8 xadvance=25 page=0 chnl=0
+char id=82 x=86 y=232 width=30 height=36 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0
+char id=79 x=116 y=232 width=29 height=36 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0
+char id=78 x=145 y=232 width=30 height=36 xoffset=1 yoffset=10 xadvance=29 page=0 chnl=0
+char id=77 x=175 y=232 width=39 height=36 xoffset=1 yoffset=10 xadvance=38 page=0 chnl=0
+char id=76 x=214 y=232 width=29 height=36 xoffset=0 yoffset=8 xadvance=24 page=0 chnl=0
+char id=75 x=0 y=268 width=29 height=36 xoffset=1 yoffset=8 xadvance=27 page=0 chnl=0
+char id=72 x=29 y=268 width=30 height=36 xoffset=1 yoffset=9 xadvance=29 page=0 chnl=0
+char id=71 x=59 y=268 width=30 height=36 xoffset=1 yoffset=9 xadvance=29 page=0 chnl=0
+char id=68 x=89 y=268 width=29 height=36 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0
+char id=67 x=118 y=268 width=27 height=36 xoffset=1 yoffset=9 xadvance=25 page=0 chnl=0
+char id=92 x=145 y=268 width=37 height=35 xoffset=1 yoffset=9 xadvance=37 page=0 chnl=0
+char id=33 x=182 y=268 width=9 height=35 xoffset=2 yoffset=10 xadvance=10 page=0 chnl=0
+char id=48 x=191 y=268 width=21 height=35 xoffset=2 yoffset=10 xadvance=21 page=0 chnl=0
+char id=49 x=212 y=268 width=14 height=35 xoffset=1 yoffset=9 xadvance=13 page=0 chnl=0
+char id=121 x=0 y=304 width=30 height=35 xoffset=0 yoffset=11 xadvance=27 page=0 chnl=0
+char id=118 x=30 y=304 width=29 height=35 xoffset=0 yoffset=9 xadvance=26 page=0 chnl=0
+char id=112 x=59 y=304 width=26 height=35 xoffset=1 yoffset=9 xadvance=24 page=0 chnl=0
+char id=111 x=85 y=304 width=29 height=35 xoffset=1 yoffset=10 xadvance=28 page=0 chnl=0
+char id=107 x=114 y=304 width=29 height=35 xoffset=1 yoffset=9 xadvance=27 page=0 chnl=0
+char id=105 x=143 y=304 width=15 height=35 xoffset=1 yoffset=10 xadvance=14 page=0 chnl=0
+char id=103 x=158 y=304 width=30 height=35 xoffset=1 yoffset=9 xadvance=29 page=0 chnl=0
+char id=86 x=188 y=304 width=29 height=35 xoffset=0 yoffset=8 xadvance=26 page=0 chnl=0
+char id=80 x=217 y=304 width=26 height=35 xoffset=1 yoffset=11 xadvance=24 page=0 chnl=0
+char id=73 x=0 y=339 width=14 height=35 xoffset=1 yoffset=10 xadvance=13 page=0 chnl=0
+char id=35 x=14 y=339 width=27 height=34 xoffset=0 yoffset=12 xadvance=22 page=0 chnl=0
+char id=59 x=41 y=339 width=10 height=32 xoffset=2 yoffset=19 xadvance=10 page=0 chnl=0
+char id=124 x=51 y=339 width=17 height=28 xoffset=1 yoffset=14 xadvance=16 page=0 chnl=0
+char id=125 x=68 y=339 width=17 height=28 xoffset=1 yoffset=17 xadvance=15 page=0 chnl=0
+char id=123 x=85 y=339 width=17 height=28 xoffset=1 yoffset=17 xadvance=15 page=0 chnl=0
+char id=42 x=102 y=339 width=29 height=27 xoffset=0 yoffset=12 xadvance=26 page=0 chnl=0
+char id=60 x=131 y=339 width=66 height=26 xoffset=1 yoffset=17 xadvance=65 page=0 chnl=0
+char id=58 x=197 y=339 width=9 height=26 xoffset=2 yoffset=19 xadvance=10 page=0 chnl=0
+char id=62 x=0 y=374 width=66 height=25 xoffset=1 yoffset=17 xadvance=66 page=0 chnl=0
+char id=43 x=66 y=374 width=22 height=20 xoffset=0 yoffset=15 xadvance=19 page=0 chnl=0
+char id=44 x=88 y=374 width=8 height=16 xoffset=2 yoffset=34 xadvance=9 page=0 chnl=0
+char id=34 x=96 y=374 width=16 height=15 xoffset=0 yoffset=10 xadvance=14 page=0 chnl=0
+char id=39 x=112 y=374 width=8 height=13 xoffset=1 yoffset=10 xadvance=7 page=0 chnl=0
+char id=61 x=120 y=374 width=15 height=10 xoffset=2 yoffset=22 xadvance=16 page=0 chnl=0
+char id=46 x=135 y=374 width=10 height=9 xoffset=2 yoffset=35 xadvance=10 page=0 chnl=0
+char id=96 x=145 y=374 width=12 height=8 xoffset=0 yoffset=1 xadvance=10 page=0 chnl=0
+char id=45 x=157 y=374 width=15 height=5 xoffset=2 yoffset=23 xadvance=16 page=0 chnl=0
+kernings count=-1
diff --git a/res/chapter6/fonts/bitmapFontTest.png b/res/chapter6/fonts/bitmapFontTest.png
new file mode 100755
index 0000000..112328f
Binary files /dev/null and b/res/chapter6/fonts/bitmapFontTest.png differ
diff --git a/res/chapter6/fonts/labelatlasimg.png b/res/chapter6/fonts/labelatlasimg.png
new file mode 100644
index 0000000..51805a1
Binary files /dev/null and b/res/chapter6/fonts/labelatlasimg.png differ
diff --git a/res/chapter6/leftNormal.png b/res/chapter6/leftNormal.png
new file mode 100644
index 0000000..a3c16ad
Binary files /dev/null and b/res/chapter6/leftNormal.png differ
diff --git a/res/chapter6/leftSelected.png b/res/chapter6/leftSelected.png
new file mode 100644
index 0000000..ffa527c
Binary files /dev/null and b/res/chapter6/leftSelected.png differ
diff --git a/res/chapter6/menuItemSpriteNormal.png b/res/chapter6/menuItemSpriteNormal.png
new file mode 100644
index 0000000..54ade0d
Binary files /dev/null and b/res/chapter6/menuItemSpriteNormal.png differ
diff --git a/res/chapter6/menuItemSpriteSelected.png b/res/chapter6/menuItemSpriteSelected.png
new file mode 100644
index 0000000..ca78a26
Binary files /dev/null and b/res/chapter6/menuItemSpriteSelected.png differ
diff --git a/res/chapter6/restartNormal.png b/res/chapter6/restartNormal.png
new file mode 100644
index 0000000..6b51dc4
Binary files /dev/null and b/res/chapter6/restartNormal.png differ
diff --git a/res/chapter6/restartSelected.png b/res/chapter6/restartSelected.png
new file mode 100644
index 0000000..ef1f2b4
Binary files /dev/null and b/res/chapter6/restartSelected.png differ
diff --git a/res/chapter6/rightNormal.png b/res/chapter6/rightNormal.png
new file mode 100644
index 0000000..606181f
Binary files /dev/null and b/res/chapter6/rightNormal.png differ
diff --git a/res/chapter6/rightSelected.png b/res/chapter6/rightSelected.png
new file mode 100644
index 0000000..8cd548b
Binary files /dev/null and b/res/chapter6/rightSelected.png differ
diff --git a/res/chapter9/Blue_Front1.png b/res/chapter9/Blue_Front1.png
new file mode 100755
index 0000000..029ff5d
Binary files /dev/null and b/res/chapter9/Blue_Front1.png differ
diff --git a/res/chapter10/CloseNormal.png b/res/chapter9/CloseNormal.png
similarity index 100%
rename from res/chapter10/CloseNormal.png
rename to res/chapter9/CloseNormal.png
diff --git a/res/chapter10/CloseSelected.png b/res/chapter9/CloseSelected.png
similarity index 100%
rename from res/chapter10/CloseSelected.png
rename to res/chapter9/CloseSelected.png
diff --git a/res/chapter10/Girl_Face.png b/res/chapter9/Girl_Face.png
similarity index 100%
rename from res/chapter10/Girl_Face.png
rename to res/chapter9/Girl_Face.png
diff --git a/res/chapter10/Girl_Glasses01.png b/res/chapter9/Girl_Glasses01.png
similarity index 100%
rename from res/chapter10/Girl_Glasses01.png
rename to res/chapter9/Girl_Glasses01.png
diff --git a/res/chapter10/Girl_Hair01.png b/res/chapter9/Girl_Hair01.png
similarity index 100%
rename from res/chapter10/Girl_Hair01.png
rename to res/chapter9/Girl_Hair01.png
diff --git a/res/chapter10/Girl_Hair02.png b/res/chapter9/Girl_Hair02.png
similarity index 100%
rename from res/chapter10/Girl_Hair02.png
rename to res/chapter9/Girl_Hair02.png
diff --git a/res/chapter10/Girl_Hand.png b/res/chapter9/Girl_Hand.png
similarity index 100%
rename from res/chapter10/Girl_Hand.png
rename to res/chapter9/Girl_Hand.png
diff --git a/res/chapter10/Girl_LowerBody01.png b/res/chapter9/Girl_LowerBody01.png
similarity index 100%
rename from res/chapter10/Girl_LowerBody01.png
rename to res/chapter9/Girl_LowerBody01.png
diff --git a/res/chapter10/Girl_LowerBody02.png b/res/chapter9/Girl_LowerBody02.png
similarity index 100%
rename from res/chapter10/Girl_LowerBody02.png
rename to res/chapter9/Girl_LowerBody02.png
diff --git a/res/chapter10/Girl_Shoes01.png b/res/chapter9/Girl_Shoes01.png
similarity index 100%
rename from res/chapter10/Girl_Shoes01.png
rename to res/chapter9/Girl_Shoes01.png
diff --git a/res/chapter10/Girl_Shoes02.png b/res/chapter9/Girl_Shoes02.png
similarity index 100%
rename from res/chapter10/Girl_Shoes02.png
rename to res/chapter9/Girl_Shoes02.png
diff --git a/res/chapter10/Girl_UpperBody01.png b/res/chapter9/Girl_UpperBody01.png
similarity index 100%
rename from res/chapter10/Girl_UpperBody01.png
rename to res/chapter9/Girl_UpperBody01.png
diff --git a/res/chapter10/Girl_UpperBody02.png b/res/chapter9/Girl_UpperBody02.png
similarity index 100%
rename from res/chapter10/Girl_UpperBody02.png
rename to res/chapter9/Girl_UpperBody02.png
diff --git a/res/chapter10/HelloWorld.png b/res/chapter9/HelloWorld.png
similarity index 100%
rename from res/chapter10/HelloWorld.png
rename to res/chapter9/HelloWorld.png
diff --git a/res/chapter10/ReskinGirl.c3b b/res/chapter9/ReskinGirl.c3b
similarity index 100%
rename from res/chapter10/ReskinGirl.c3b
rename to res/chapter9/ReskinGirl.c3b
diff --git a/res/chapter10/Xie_01.png b/res/chapter9/Xie_01.png
similarity index 100%
rename from res/chapter10/Xie_01.png
rename to res/chapter9/Xie_01.png
diff --git a/res/chapter10/arx.png b/res/chapter9/arx.png
similarity index 100%
rename from res/chapter10/arx.png
rename to res/chapter9/arx.png
diff --git a/res/chapter10/axe.c3b b/res/chapter9/axe.c3b
similarity index 100%
rename from res/chapter10/axe.c3b
rename to res/chapter9/axe.c3b
diff --git a/res/chapter10/body.png b/res/chapter9/body.png
similarity index 100%
rename from res/chapter10/body.png
rename to res/chapter9/body.png
diff --git a/res/chapter10/boss.c3b b/res/chapter9/boss.c3b
similarity index 100%
rename from res/chapter10/boss.c3b
rename to res/chapter9/boss.c3b
diff --git a/res/chapter10/boss.png b/res/chapter9/boss.png
similarity index 100%
rename from res/chapter10/boss.png
rename to res/chapter9/boss.png
diff --git a/res/chapter10/fonts/Marker Felt.ttf b/res/chapter9/fonts/Marker Felt.ttf
similarity index 100%
rename from res/chapter10/fonts/Marker Felt.ttf
rename to res/chapter9/fonts/Marker Felt.ttf
diff --git a/res/chapter10/girl.c3b b/res/chapter9/girl.c3b
similarity index 100%
rename from res/chapter10/girl.c3b
rename to res/chapter9/girl.c3b
diff --git a/res/chapter10/monguger.tga b/res/chapter9/monguger.tga
similarity index 100%
rename from res/chapter10/monguger.tga
rename to res/chapter9/monguger.tga
diff --git a/res/chapter10/orc.c3b b/res/chapter9/orc.c3b
similarity index 100%
rename from res/chapter10/orc.c3b
rename to res/chapter9/orc.c3b
diff --git a/res/chapter9/plane.obj b/res/chapter9/plane.obj
new file mode 100644
index 0000000..011dab6
--- /dev/null
+++ b/res/chapter9/plane.obj
@@ -0,0 +1,103 @@
+# 3ds Max Wavefront OBJ Exporter v0.97b - (c)2007 guruware
+# ´´½¨µÄÎļþ:15.12.2014 14:36:22
+
+mtllib plane.mtl
+
+#
+# object Plane001
+#
+
+v -12.5000 0.0000 12.5000
+v -6.2500 0.0000 12.5000
+v -6.2500 0.0000 6.2500
+v -12.5000 0.0000 6.2500
+v 0.0000 0.0000 12.5000
+v 0.0000 0.0000 6.2500
+v 6.2500 0.0000 12.5000
+v 6.2500 0.0000 6.2500
+v 12.5000 0.0000 12.5000
+v 12.5000 0.0000 6.2500
+v -6.2500 0.0000 -0.0000
+v -12.5000 0.0000 -0.0000
+v 0.0000 0.0000 -0.0000
+v 6.2500 0.0000 -0.0000
+v 12.5000 0.0000 -0.0000
+v -6.2500 0.0000 -6.2500
+v -12.5000 0.0000 -6.2500
+v 0.0000 0.0000 -6.2500
+v 6.2500 0.0000 -6.2500
+v 12.5000 0.0000 -6.2500
+v -6.2500 0.0000 -12.5000
+v -12.5000 0.0000 -12.5000
+v 0.0000 0.0000 -12.5000
+v 6.2500 0.0000 -12.5000
+v 12.5000 0.0000 -12.5000
+# 25 vertices
+
+vn 0.0000 1.0000 -0.0000
+# 1 vertex normals
+
+vt 0.0000 0.0000 0.0000
+vt 0.2500 0.0000 0.0000
+vt 0.2500 0.2500 0.0000
+vt 0.0000 0.2500 0.0000
+vt 0.5000 0.0000 0.0000
+vt 0.5000 0.2500 0.0000
+vt 0.7500 0.0000 0.0000
+vt 0.7500 0.2500 0.0000
+vt 1.0000 0.0000 0.0000
+vt 1.0000 0.2500 0.0000
+vt 0.2500 0.5000 0.0000
+vt 0.0000 0.5000 0.0000
+vt 0.5000 0.5000 0.0000
+vt 0.7500 0.5000 0.0000
+vt 1.0000 0.5000 0.0000
+vt 0.2500 0.7500 0.0000
+vt 0.0000 0.7500 0.0000
+vt 0.5000 0.7500 0.0000
+vt 0.7500 0.7500 0.0000
+vt 1.0000 0.7500 0.0000
+vt 0.2500 1.0000 0.0000
+vt 0.0000 1.0000 0.0000
+vt 0.5000 1.0000 0.0000
+vt 0.7500 1.0000 0.0000
+vt 1.0000 1.0000 0.0000
+# 25 texture coords
+
+g Plane001
+usemtl 01___Default
+s 1
+f 1/1/1 2/2/1 3/3/1
+f 3/3/1 4/4/1 1/1/1
+f 2/2/1 5/5/1 6/6/1
+f 6/6/1 3/3/1 2/2/1
+f 5/5/1 7/7/1 8/8/1
+f 8/8/1 6/6/1 5/5/1
+f 7/7/1 9/9/1 10/10/1
+f 10/10/1 8/8/1 7/7/1
+f 4/4/1 3/3/1 11/11/1
+f 11/11/1 12/12/1 4/4/1
+f 3/3/1 6/6/1 13/13/1
+f 13/13/1 11/11/1 3/3/1
+f 6/6/1 8/8/1 14/14/1
+f 14/14/1 13/13/1 6/6/1
+f 8/8/1 10/10/1 15/15/1
+f 15/15/1 14/14/1 8/8/1
+f 12/12/1 11/11/1 16/16/1
+f 16/16/1 17/17/1 12/12/1
+f 11/11/1 13/13/1 18/18/1
+f 18/18/1 16/16/1 11/11/1
+f 13/13/1 14/14/1 19/19/1
+f 19/19/1 18/18/1 13/13/1
+f 14/14/1 15/15/1 20/20/1
+f 20/20/1 19/19/1 14/14/1
+f 17/17/1 16/16/1 21/21/1
+f 21/21/1 22/22/1 17/17/1
+f 16/16/1 18/18/1 23/23/1
+f 23/23/1 21/21/1 16/16/1
+f 18/18/1 19/19/1 24/24/1
+f 24/24/1 23/23/1 18/18/1
+f 19/19/1 20/20/1 25/25/1
+f 25/25/1 24/24/1 19/19/1
+# 32 faces
+
diff --git a/res/chapter9/planetex.png b/res/chapter9/planetex.png
new file mode 100644
index 0000000..39ebb79
Binary files /dev/null and b/res/chapter9/planetex.png differ
diff --git a/res/chapter9/sphere.c3b b/res/chapter9/sphere.c3b
new file mode 100755
index 0000000..3969dd7
Binary files /dev/null and b/res/chapter9/sphere.c3b differ
diff --git a/res/chapter9/spheretex.png b/res/chapter9/spheretex.png
new file mode 100755
index 0000000..94eed4b
Binary files /dev/null and b/res/chapter9/spheretex.png differ
diff --git a/res/chapter10/tortoise.c3b b/res/chapter9/tortoise.c3b
similarity index 100%
rename from res/chapter10/tortoise.c3b
rename to res/chapter9/tortoise.c3b
diff --git a/res/chapter10/tortoise.png b/res/chapter9/tortoise.png
similarity index 100%
rename from res/chapter10/tortoise.png
rename to res/chapter9/tortoise.png
diff --git a/res/chapter10/zhujue.FBX b/res/chapter9/zhujue.FBX
similarity index 100%
rename from res/chapter10/zhujue.FBX
rename to res/chapter9/zhujue.FBX
diff --git a/res/chapter10/zhujue.c3b b/res/chapter9/zhujue.c3b
similarity index 100%
rename from res/chapter10/zhujue.c3b
rename to res/chapter9/zhujue.c3b
diff --git a/res/chapter10/zhujue.c3t b/res/chapter9/zhujue.c3t
similarity index 100%
rename from res/chapter10/zhujue.c3t
rename to res/chapter9/zhujue.c3t
diff --git a/res/chapter10/zhujue.png b/res/chapter9/zhujue.png
similarity index 100%
rename from res/chapter10/zhujue.png
rename to res/chapter9/zhujue.png
diff --git a/res/chapter10/zhujue_jian.png b/res/chapter9/zhujue_jian.png
similarity index 100%
rename from res/chapter10/zhujue_jian.png
rename to res/chapter9/zhujue_jian.png
diff --git a/res/dot.png b/res/dot.png
new file mode 100644
index 0000000..d479dbd
Binary files /dev/null and b/res/dot.png differ
diff --git a/src/chapter10/Chapter10_1.h b/src/chapter10/Chapter10_1.h
deleted file mode 100644
index d590706..0000000
--- a/src/chapter10/Chapter10_1.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef __CHAPTER_10_1_H__
-#define __CHAPTER_10_1_H__
-
-#include "cocos2d.h"
-
-USING_NS_CC;
-
-class Chapter10_1 : public Ref
-{
- public:
- static cocos2d::Scene* createScene();
-};
-
-#endif // __CHAPTER_10_1_H__
diff --git a/src/chapter10/Chapter10_4.h b/src/chapter10/Chapter10_4.h
deleted file mode 100644
index 8f11a47..0000000
--- a/src/chapter10/Chapter10_4.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef __CHAPTER_10_4_H__
-#define __CHAPTER_10_4_H__
-
-#include "cocos2d.h"
-
-USING_NS_CC;
-
-class Chapter10_4 : public Ref
-{
- public:
- static cocos2d::Scene* createScene();
-};
-
-#endif // __CHAPTER_10_3_H__
diff --git a/src/chapter12/AppDelegate.cpp b/src/chapter12/AppDelegate.cpp
new file mode 100644
index 0000000..e481921
--- /dev/null
+++ b/src/chapter12/AppDelegate.cpp
@@ -0,0 +1,55 @@
+#include "AppDelegate.h"
+#include "Chapter12.h"
+
+USING_NS_CC;
+
+AppDelegate::AppDelegate() {
+
+}
+
+AppDelegate::~AppDelegate()
+{
+}
+
+//if you want a different context,just modify the value of glContextAttrs
+//it will takes effect on all platforms
+void AppDelegate::initGLContextAttrs()
+{
+ //set OpenGL context attributions,now can only set six attributions:
+ //red,green,blue,alpha,depth,stencil
+ GLContextAttrs glContextAttrs = {8, 8, 8, 8, 24, 8};
+
+ GLView::setGLContextAttrs(glContextAttrs);
+}
+
+bool AppDelegate::applicationDidFinishLaunching() {
+ // initialize director
+ auto director = Director::getInstance();
+ auto glview = director->getOpenGLView();
+
+ if(!glview) {
+ glview = GLViewImpl::create("My Game");
+ director->setOpenGLView(glview);
+ }
+ /*glview->setFrameSize(480,320);
+ director->setContentScaleFactor(2.0f);
+ glview->setDesignResolutionSize(480, 320, ResolutionPolicy::SHOW_ALL);*/
+
+ FileUtils::getInstance()->addSearchPath("chapter12");
+
+ // create a scene. it's an autorelease object
+ auto scene = Chapter12::createScene();
+ director->runWithScene(scene);
+
+ return true;
+}
+
+// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
+void AppDelegate::applicationDidEnterBackground() {
+ Director::getInstance()->stopAnimation();
+}
+
+// this function will be called when the app is active again
+void AppDelegate::applicationWillEnterForeground() {
+ Director::getInstance()->startAnimation();
+}
diff --git a/src/chapter10/AppDelegate.h b/src/chapter12/AppDelegate.h
similarity index 100%
rename from src/chapter10/AppDelegate.h
rename to src/chapter12/AppDelegate.h
diff --git a/src/chapter12/Chapter12.cpp b/src/chapter12/Chapter12.cpp
new file mode 100644
index 0000000..7592a8f
--- /dev/null
+++ b/src/chapter12/Chapter12.cpp
@@ -0,0 +1,436 @@
+#include "Chapter12.h"
+
+USING_NS_CC;
+
+static Size s_visibleSize;
+static Vec2 s_origin;
+static Vec2 s_centre;
+static Scene* s_currScene;
+static const int DRAG_BODYS_TAG = 0x80;
+
+//=====================================================================================
+bool PhysicsDemoCorrelationToSprite::init()
+{
+ if (PhysicsDemo::init()) {
+ //create a static PhysicsBody
+ auto physicsBody = PhysicsBody::createBox(Size(65.0f , 81.0f ),PhysicsMaterial(0.1f, 1.0f, 0.0f));
+ physicsBody->setDynamic(false);
+
+ //create a sprite
+ auto sprite = Sprite::create("whiteSprite.png");
+ sprite->setPosition(s_centre);
+ addChild(sprite);
+
+ //make physicsBody associated with sprite
+ sprite->setPhysicsBody(physicsBody);
+
+ //add five dynamic body
+ for (int i = 0; i < 5; ++i)
+ {
+ physicsBody = PhysicsBody::createBox(Size(65.0f , 81.0f ),PhysicsMaterial(0.1f, 1.0f, 0.0f));
+ //set the body isn't affected by the physics world's gravitational force
+ physicsBody->setGravityEnable(false);
+ //set initial velocity of physicsBody
+ physicsBody->setVelocity(Vec2(cocos2d::random(-500,500),cocos2d::random(-500,500)));
+ physicsBody->setTag(DRAG_BODYS_TAG);
+
+ sprite = Sprite::create("blueSprite.png");
+ sprite->setPosition(Vec2(s_centre.x + cocos2d::random(-300 ,300 ),s_centre.y + cocos2d::random(-300 ,300 )));
+ sprite->setPhysicsBody(physicsBody);
+ addChild(sprite);
+ }
+
+ return true;
+ }
+
+ return false;
+}
+
+std::string PhysicsDemoCorrelationToSprite::subtitle() const
+{
+ return "Make body correlation to sprite.Please drag the sprites.";
+}
+
+//=====================================================================================
+bool PhysicsDemoCollisionFiltering::init()
+{
+ if (PhysicsDemo::init()) {
+ auto sprite1 = addSpriteAtPosition(Vec2(s_centre.x - 150 ,s_centre.y));
+ sprite1->getPhysicsBody()->setCategoryBitmask(0x02); // 0010
+ sprite1->getPhysicsBody()->setCollisionBitmask(0x01); // 0001
+
+ sprite1 = addSpriteAtPosition(Vec2(s_centre.x - 150 ,s_centre.y + 100 ));
+ sprite1->getPhysicsBody()->setCategoryBitmask(0x02); // 0010
+ sprite1->getPhysicsBody()->setCollisionBitmask(0x01); // 0001
+
+ auto sprite2 = addSpriteAtPosition(Vec2(s_centre.x + 150 ,s_centre.y),1);
+ sprite2->getPhysicsBody()->setCategoryBitmask(0x01); // 0001
+ sprite2->getPhysicsBody()->setCollisionBitmask(0x02); // 0010
+
+ auto sprite3 = addSpriteAtPosition(Vec2(s_centre.x + 150 ,s_centre.y + 100 ),2);
+ sprite3->getPhysicsBody()->setCategoryBitmask(0x03); // 0011
+ sprite3->getPhysicsBody()->setCollisionBitmask(0x03); // 0011
+
+ return true;
+ }
+
+ return false;
+}
+
+std::string PhysicsDemoCollisionFiltering::subtitle() const
+{
+ return "Collision Filtering.Please drag the sprites";
+}
+
+//=====================================================================================
+#define STATIC_SPRITE_TAG 10
+bool PhysicsDemoCollisionProcessing::init()
+{
+ if (PhysicsDemo::init()) {
+
+ auto sprite = addSpriteAtPosition(s_centre,1);
+ sprite->setTag(STATIC_SPRITE_TAG);
+ sprite->getPhysicsBody()->setContactTestBitmask(0xFFFFFFFF);
+ sprite->getPhysicsBody()->setDynamic(false);
+
+ //add contact event listener
+ auto contactListener = EventListenerPhysicsContact::create();
+ contactListener->onContactBegin = CC_CALLBACK_1(PhysicsDemoCollisionProcessing::onContactBegin, this);
+ _eventDispatcher->addEventListenerWithSceneGraphPriority(contactListener, this);
+
+ schedule(CC_SCHEDULE_SELECTOR(PhysicsDemoCollisionProcessing::tick), 0.3f);
+ return true;
+ }
+
+ return true;
+}
+
+void PhysicsDemoCollisionProcessing::tick(float dt)
+{
+ auto sprite = addSpriteAtPosition(Vec2(s_centre.x + cocos2d::random(-300 ,300 ),s_centre.y + cocos2d::random(-300 ,300 )));
+ auto physicsBody = sprite->getPhysicsBody();
+ physicsBody->setVelocity(Vec2(cocos2d::random(-500 ,500 ),cocos2d::random(-500 ,500 )));
+ physicsBody->setContactTestBitmask(0xFFFFFFFF);
+}
+
+bool PhysicsDemoCollisionProcessing::onContactBegin(PhysicsContact& contact)
+{
+ auto nodeA = contact.getShapeA()->getBody()->getNode();
+ auto nodeB = contact.getShapeB()->getBody()->getNode();
+ if (nodeA && nodeB)
+ {
+ if (nodeA->getTag() == STATIC_SPRITE_TAG)
+ {
+ nodeB->removeFromParentAndCleanup(true);
+ }
+ else if (nodeB->getTag() == STATIC_SPRITE_TAG)
+ {
+ nodeA->removeFromParentAndCleanup(true);
+ }
+ }
+
+ return true;
+}
+
+std::string PhysicsDemoCollisionProcessing::subtitle() const
+{
+ return "Collision Processing";
+}
+
+//=====================================================================================
+bool PhysicsDemoRayTest::init()
+{
+ if (PhysicsDemo::init()) {
+ _angle = 0.0f;
+ _drawNode = nullptr;
+
+ auto touchListener = EventListenerTouchAllAtOnce::create();
+ touchListener->onTouchesEnded = [=](const std::vector& touches, Event* event){
+ for( auto &touch: touches)
+ {
+ auto sprite = addSpriteAtPosition(touch->getLocation());
+ sprite->getPhysicsBody()->setGravityEnable(false);
+ }
+ };
+ _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);
+
+ schedule(CC_SCHEDULE_SELECTOR(PhysicsDemoRayTest::tick), 0.03f);
+ return true;
+ }
+
+ return false;
+}
+
+void PhysicsDemoRayTest::tick(float dt)
+{
+ Vec2 d(300 * cosf(_angle), 300 * sinf(_angle));
+ Vec2 point2 = s_centre + d;
+ if (_drawNode)
+ {
+ removeChild(_drawNode);
+ }
+ _drawNode = DrawNode::create();
+
+#define MAX_MULTI_RAYCAST_NUM 5
+
+ Vec2 points[MAX_MULTI_RAYCAST_NUM];
+ int num = 0;
+ PhysicsRayCastCallbackFunc func = [&points, &num](PhysicsWorld& world, const PhysicsRayCastInfo& info, void* data)->bool
+ {
+ if (num < MAX_MULTI_RAYCAST_NUM)
+ {
+ points[num++] = info.contact;
+ }
+ return true;
+ };
+
+ s_currScene->getPhysicsWorld()->rayCast(func, s_centre, point2, nullptr);
+
+ _drawNode->drawSegment(s_centre, point2, 1, Color4F::RED);
+ for (int i = 0; i < num; ++i)
+ {
+ _drawNode->drawDot(points[i], 3, Color4F(1.0f, 1.0f, 1.0f, 1.0f));
+ }
+ addChild(_drawNode);
+
+ _angle += 1.5f * (float)M_PI / 180.0f;
+}
+
+std::string PhysicsDemoRayTest::subtitle() const
+{
+ return "Ray Test.Touch screen to add sprite.";
+}
+
+//=====================================================================================
+bool PhysicsDemoJointsDistance::init()
+{
+ if (PhysicsDemo::init()) {
+ auto sprite1 = addSpriteAtPosition(Vec2(s_centre.x - 100,s_centre.y));
+ auto sprite2 = addSpriteAtPosition(Vec2(s_centre.x + 100,s_centre.y),1);
+
+ PhysicsJointDistance* joint = PhysicsJointDistance::construct(sprite1->getPhysicsBody(), sprite2->getPhysicsBody(), Point::ZERO, Point::ZERO);
+ s_currScene->getPhysicsWorld()->addJoint(joint);
+ return true;
+ }
+
+ return false;
+}
+
+std::string PhysicsDemoJointsDistance::subtitle() const
+{
+ return "Joints Test:Distance";
+}
+
+//==========================================================================
+#define CL(__className__) [](){ return __className__::create();}
+
+namespace
+{
+ static std::function createFunctions[] = {
+ CL(PhysicsDemoCorrelationToSprite),
+ CL(PhysicsDemoCollisionFiltering),
+ CL(PhysicsDemoCollisionProcessing),
+ CL(PhysicsDemoRayTest),
+ CL(PhysicsDemoJointsDistance),
+ };
+
+ static int sceneIdx = -1;
+
+#define MAX_LAYER (sizeof(createFunctions) / sizeof(createFunctions[0]))
+
+ static Layer* next()
+ {
+ sceneIdx++;
+ sceneIdx = sceneIdx % MAX_LAYER;
+
+ auto layer = (createFunctions[sceneIdx])();
+ return layer;
+ }
+
+ static Layer* back()
+ {
+ sceneIdx--;
+ int total = MAX_LAYER;
+ if( sceneIdx < 0 )
+ sceneIdx += total;
+
+ auto layer = (createFunctions[sceneIdx])();
+ return layer;
+ }
+
+ static Layer* restart()
+ {
+ auto layer = (createFunctions[sceneIdx])();
+ return layer;
+ }
+}
+
+bool PhysicsDemo::init()
+{
+ if (Layer::init())
+ {
+ s_currScene->getPhysicsWorld()->setDebugDrawMask(PhysicsWorld::DEBUGDRAW_ALL);
+
+ //create title
+ TTFConfig ttfConfig("fonts/arial.ttf", 32);
+ auto titleLabel = Label::createWithTTF(ttfConfig,"Physics Chapter Samples");
+ addChild(titleLabel, 9999);
+ titleLabel->setPosition(Vec2(s_origin.x + s_visibleSize.width/2, s_origin.y + s_visibleSize.height - 30));
+
+ //create subtitle
+ std::string strSubtitle = subtitle();
+ if( ! strSubtitle.empty() )
+ {
+ ttfConfig.fontSize = 20;
+ auto subTitleLabel = Label::createWithTTF(ttfConfig, strSubtitle.c_str());
+ addChild(subTitleLabel, 9999);
+ subTitleLabel->setPosition(Vec2(s_origin.x + s_visibleSize.width/2, s_origin.y + s_visibleSize.height - 70));
+ }
+
+ //create menu
+ auto backItem = MenuItemImage::create("leftNormal.png", "leftSelected.png", CC_CALLBACK_1(PhysicsDemo::backCallback, this) );
+ auto restartItem = MenuItemImage::create("restartNormal.png", "restartSelected.png", CC_CALLBACK_1(PhysicsDemo::restartCallback, this) );
+ auto nextItem = MenuItemImage::create("rightNormal.png", "rightSelected.png", CC_CALLBACK_1(PhysicsDemo::nextCallback, this) );
+
+ auto menu = Menu::create(backItem, restartItem, nextItem, nullptr);
+ menu->setPosition(Vec2::ZERO);
+ addChild(menu, 9999);
+
+ auto restartItemSize = restartItem->getContentSize();
+ backItem->setPosition(s_centre.x - restartItemSize.width * 2, s_origin.y + restartItemSize.height / 2);
+ restartItem->setPosition(s_centre.x, s_origin.y + restartItemSize.height / 2);
+ nextItem->setPosition(s_centre.x + restartItemSize.width * 2, s_origin.y + restartItemSize.height/2);
+
+ //create border
+ auto node = Node::create();
+ auto physicsBody = PhysicsBody::createEdgeBox(s_visibleSize,PhysicsMaterial(0.1f, 1, 0.0f));
+ node->setPhysicsBody(physicsBody);
+ node->setPosition(s_centre);
+ this->addChild(node);
+
+ //add touch event listener
+ auto touchListener = EventListenerTouchOneByOne::create();
+ touchListener->onTouchBegan = CC_CALLBACK_2(PhysicsDemo::onTouchBegan, this);
+ touchListener->onTouchMoved = CC_CALLBACK_2(PhysicsDemo::onTouchMoved, this);
+ touchListener->onTouchEnded = CC_CALLBACK_2(PhysicsDemo::onTouchEnded, this);
+ touchListener->onTouchCancelled = CC_CALLBACK_2(PhysicsDemo::onTouchEnded, this);
+ _eventDispatcher->addEventListenerWithSceneGraphPriority(touchListener, this);
+ return true;
+ }
+
+ return false;
+}
+
+void PhysicsDemo::restartCallback(Ref* sender)
+{
+ s_currScene = Scene::createWithPhysics();
+ s_currScene->addChild( restart() );
+ Director::getInstance()->replaceScene(s_currScene);
+}
+
+void PhysicsDemo::nextCallback(Ref* sender)
+{
+ s_currScene = Scene::createWithPhysics();
+ s_currScene->addChild( next() );
+ Director::getInstance()->replaceScene(s_currScene);
+}
+
+void PhysicsDemo::backCallback(Ref* sender)
+{
+ s_currScene = Scene::createWithPhysics();
+ s_currScene->addChild( back() );
+ Director::getInstance()->replaceScene(s_currScene);
+}
+
+bool PhysicsDemo::onTouchBegan(Touch* touch, Event* event)
+{
+ auto location = touch->getLocation();
+ auto arr = s_currScene->getPhysicsWorld()->getShapes(location);
+
+ PhysicsBody* body = nullptr;
+ for (auto& obj : arr)
+ {
+ if ((obj->getBody()->getTag() & DRAG_BODYS_TAG) != 0)
+ {
+ body = obj->getBody();
+ break;
+ }
+ }
+
+ if (body != nullptr)
+ {
+ Node* mouse = Node::create();
+ mouse->setPhysicsBody(PhysicsBody::create(PHYSICS_INFINITY, PHYSICS_INFINITY));
+ mouse->getPhysicsBody()->setDynamic(false);
+ mouse->setPosition(location);
+ this->addChild(mouse);
+ PhysicsJointPin* joint = PhysicsJointPin::construct(mouse->getPhysicsBody(), body, location);
+ joint->setMaxForce(5000.0f * body->getMass());
+ s_currScene->getPhysicsWorld()->addJoint(joint);
+ _mouses.insert(std::make_pair(touch->getID(), mouse));
+
+ return true;
+ }
+
+ return false;
+}
+
+void PhysicsDemo::onTouchMoved(Touch* touch, Event* event)
+{
+ auto it = _mouses.find(touch->getID());
+
+ if (it != _mouses.end())
+ {
+ it->second->setPosition(touch->getLocation());
+ }
+}
+
+void PhysicsDemo::onTouchEnded(Touch* touch, Event* event)
+{
+ auto it = _mouses.find(touch->getID());
+
+ if (it != _mouses.end())
+ {
+ this->removeChild(it->second);
+ _mouses.erase(it);
+ }
+}
+
+Sprite* PhysicsDemo::addSpriteAtPosition(const Vec2& pos, int spriteIndex /* = 0 */, float scale /* = 1.0f */)
+{
+ static std::string sprites[] = {"blueSprite.png","whiteSprite.png","LightBlueSprite.png"};
+
+ auto sprite = Sprite::create(sprites[spriteIndex]);
+ auto physicsBody = PhysicsBody::createBox(Size(65.0f * scale, 81.0f * scale),PhysicsMaterial(0.1f, 1.0f, 0.0f));
+ physicsBody->setTag(DRAG_BODYS_TAG);
+ sprite->setScale(scale);
+ sprite->setPosition(pos);
+ //make `PhysicsBody` associated with sprite
+ sprite->setPhysicsBody(physicsBody);
+ addChild(sprite);
+
+ return sprite;
+}
+
+Scene* Chapter12::createScene()
+{
+ sceneIdx = -1;
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // some upfront items that we need
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ s_visibleSize = Director::getInstance()->getVisibleSize();
+ s_origin = Director::getInstance()->getVisibleOrigin();
+ s_centre = s_origin + s_visibleSize / 2;
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a scene with physics world for our game to hold everything
+ // 'scene' is an autorelease object
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ s_currScene = Scene::createWithPhysics();
+
+ s_currScene->addChild(next());
+
+ // return the scene
+ return s_currScene;
+}
\ No newline at end of file
diff --git a/src/chapter12/Chapter12.h b/src/chapter12/Chapter12.h
new file mode 100644
index 0000000..c403121
--- /dev/null
+++ b/src/chapter12/Chapter12.h
@@ -0,0 +1,98 @@
+#ifndef __SAMPLES_CHAPTER_12_H__
+#define __SAMPLES_CHAPTER_12_H__
+
+#include "cocos2d.h"
+
+USING_NS_CC;
+
+class Chapter12
+{
+public:
+ static cocos2d::Scene* createScene();
+};
+
+class PhysicsDemo : public cocos2d::Layer
+{
+public:
+ virtual std::string subtitle() const { return "";}
+
+ void restartCallback(Ref* sender);
+ void nextCallback(Ref* sender);
+ void backCallback(Ref* sender);
+
+ bool onTouchBegan(Touch* touch, Event* event);
+ void onTouchMoved(Touch* touch, Event* event);
+ void onTouchEnded(Touch* touch, Event* event);
+
+protected:
+ virtual bool init();
+
+ Sprite* addSpriteAtPosition(const Vec2& pos,int spriteIndex = 0, float scale = 1.0f);
+
+ std::unordered_map _mouses;
+};
+
+class PhysicsDemoCorrelationToSprite : public PhysicsDemo
+{
+public:
+ CREATE_FUNC(PhysicsDemoCorrelationToSprite);
+
+ virtual std::string subtitle() const override;
+
+protected:
+ virtual bool init();
+};
+
+class PhysicsDemoCollisionFiltering : public PhysicsDemo
+{
+public:
+ CREATE_FUNC(PhysicsDemoCollisionFiltering);
+
+ virtual std::string subtitle() const override;
+
+protected:
+ virtual bool init();
+};
+
+class PhysicsDemoCollisionProcessing : public PhysicsDemo
+{
+public:
+ CREATE_FUNC(PhysicsDemoCollisionProcessing);
+
+ virtual std::string subtitle() const override;
+
+ bool onContactBegin(PhysicsContact& contact);
+
+ void tick(float dt);
+
+protected:
+ virtual bool init();
+};
+
+class PhysicsDemoJointsDistance : public PhysicsDemo
+{
+public:
+ CREATE_FUNC(PhysicsDemoJointsDistance);
+
+ virtual std::string subtitle() const override;
+
+protected:
+ virtual bool init();
+};
+
+class PhysicsDemoRayTest : public PhysicsDemo
+{
+public:
+ CREATE_FUNC(PhysicsDemoRayTest);
+
+ virtual std::string subtitle() const override;
+
+ void tick(float dt);
+protected:
+ virtual bool init();
+
+ DrawNode* _drawNode;
+ float _angle;
+};
+
+#endif // __SAMPLES_CHAPTER_12_H__
diff --git a/src/chapter13/AppDelegate.cpp b/src/chapter13/AppDelegate.cpp
new file mode 100644
index 0000000..5515f4d
--- /dev/null
+++ b/src/chapter13/AppDelegate.cpp
@@ -0,0 +1,63 @@
+#include "AppDelegate.h"
+#include "Chapter13.h"
+
+USING_NS_CC;
+
+AppDelegate::AppDelegate() {
+
+}
+
+AppDelegate::~AppDelegate()
+{
+}
+
+//if you want a different context,just modify the value of glContextAttrs
+//it will takes effect on all platforms
+void AppDelegate::initGLContextAttrs()
+{
+ //set OpenGL context attributions,now can only set six attributions:
+ //red,green,blue,alpha,depth,stencil
+ GLContextAttrs glContextAttrs = {8, 8, 8, 8, 24, 8};
+
+ GLView::setGLContextAttrs(glContextAttrs);
+}
+
+bool AppDelegate::applicationDidFinishLaunching() {
+ // initialize director
+ auto director = Director::getInstance();
+ auto glview = director->getOpenGLView();
+ if(!glview) {
+ glview = GLViewImpl::create("My Game");
+ director->setOpenGLView(glview);
+ }
+
+ // turn on display FPS
+ //director->setDisplayStats(true);
+
+ // set FPS. the default value is 1.0/60 if you don't call this
+ director->setAnimationInterval(1.0 / 60);
+
+ // create a scene. it's an autorelease object
+ auto scene = Chapter13::createScene();
+
+ // run
+ director->runWithScene(scene);
+
+ return true;
+}
+
+// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
+void AppDelegate::applicationDidEnterBackground() {
+ Director::getInstance()->stopAnimation();
+
+ // if you use SimpleAudioEngine, it must be pause
+ // SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
+}
+
+// this function will be called when the app is active again
+void AppDelegate::applicationWillEnterForeground() {
+ Director::getInstance()->startAnimation();
+
+ // if you use SimpleAudioEngine, it must resume here
+ // SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
+}
diff --git a/src/chapter13/AppDelegate.h b/src/chapter13/AppDelegate.h
new file mode 100644
index 0000000..625506c
--- /dev/null
+++ b/src/chapter13/AppDelegate.h
@@ -0,0 +1,40 @@
+#ifndef _APP_DELEGATE_H_
+#define _APP_DELEGATE_H_
+
+#include "cocos2d.h"
+
+/**
+@brief The cocos2d Application.
+
+The reason for implement as private inheritance is to hide some interface call by Director.
+*/
+class AppDelegate : private cocos2d::Application
+{
+public:
+ AppDelegate();
+ virtual ~AppDelegate();
+
+ virtual void initGLContextAttrs();
+
+ /**
+ @brief Implement Director and Scene init code here.
+ @return true Initialize success, app continue.
+ @return false Initialize failed, app terminate.
+ */
+ virtual bool applicationDidFinishLaunching();
+
+ /**
+ @brief The function be called when the application enter background
+ @param the pointer of the application
+ */
+ virtual void applicationDidEnterBackground();
+
+ /**
+ @brief The function be called when the application enter foreground
+ @param the pointer of the application
+ */
+ virtual void applicationWillEnterForeground();
+};
+
+#endif // _APP_DELEGATE_H_
+
diff --git a/src/chapter13/Chapter13.cpp b/src/chapter13/Chapter13.cpp
new file mode 100644
index 0000000..7154a8c
--- /dev/null
+++ b/src/chapter13/Chapter13.cpp
@@ -0,0 +1,100 @@
+#include "Chapter13.h"
+
+#include
+
+USING_NS_CC;
+
+Scene* Chapter13::createScene()
+{
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // some upfront items that we need
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto dirs = Director::getInstance();
+ Size visibleSize = dirs->getVisibleSize();
+ Vec2 origin = dirs->getVisibleOrigin();
+
+ Size playingSize = Size(visibleSize.width, visibleSize.height - (visibleSize.height/8)); // actual playing size to work with
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a scene
+ // 'scene' is an autorelease object
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto scene = Scene::create();
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a node to hold non-sprites.
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto nodeItems = Node::create();
+ nodeItems->setName("nodeItems");
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a node to hold menu
+ // create a menu
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto menuNode = Node::create();
+ menuNode->setName("menuNode");
+ int index = 2;
+
+ auto menuItem1 = MenuItemFont::create("Play Music");
+ menuItem1->setFontNameObj("Marker Felt.ttf");
+ menuItem1->setFontSizeObj(32);
+ menuItem1->setName("menuItem1");
+ menuItem1->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem1->setCallback([&](cocos2d::Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ auto audio = CocosDenshion::SimpleAudioEngine::getInstance();
+
+ audio->playBackgroundMusic("music.mp3");
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem1");
+ cnode->setVisible(false);
+ cnode = bnode->getChildByName("menuItem2");
+ cnode->setVisible(true);
+ });
+
+ auto menuItem2 = MenuItemFont::create("Stop Music");
+ menuItem2->setFontNameObj("Marker Felt.ttf");
+ menuItem2->setFontSizeObj(32);
+ menuItem2->setName("menuItem2");
+ menuItem2->setVisible(false);
+ menuItem2->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem2->setCallback([&](cocos2d::Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ auto audio = CocosDenshion::SimpleAudioEngine::getInstance();
+
+ audio->stopBackgroundMusic("music.mp3");
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem2");
+ cnode->setVisible(false);
+ cnode = bnode->getChildByName("menuItem1");
+ cnode->setVisible(true);
+ });
+
+ auto menuItem3 = MenuItemFont::create("Play Effect");
+ menuItem3->setFontNameObj("Marker Felt.ttf");
+ menuItem3->setFontSizeObj(32);
+ menuItem3->setName("menuItem3");
+ menuItem3->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem3->setCallback([&](cocos2d::Ref *sender) {
+ auto audio = CocosDenshion::SimpleAudioEngine::getInstance();
+
+ audio->playEffect("alert.mp3");
+ });
+
+ auto menu = Menu::create(menuItem1, menuItem2, menuItem3, NULL);
+ menu->setName("menu");
+ menuNode->addChild(menu, 1);
+ menu->setPosition(Vec2::ZERO);
+
+ scene->addChild(menuNode, 2);
+
+ // return the scene
+ return scene;
+}
diff --git a/src/chapter13/Chapter13.h b/src/chapter13/Chapter13.h
new file mode 100644
index 0000000..5f176b8
--- /dev/null
+++ b/src/chapter13/Chapter13.h
@@ -0,0 +1,16 @@
+#ifndef __CHAPTER13_H__
+#define __CHAPTER13_H__
+
+#include "cocos2d.h"
+
+#include
+
+USING_NS_CC;
+
+class Chapter13 : public Ref
+{
+ public:
+ static cocos2d::Scene* createScene();
+};
+
+#endif // __CHAPTER13_H__
diff --git a/src/chapter2/Chapter2.cpp b/src/chapter2/Chapter2.cpp
index 6c24e14..caba2ef 100644
--- a/src/chapter2/Chapter2.cpp
+++ b/src/chapter2/Chapter2.cpp
@@ -23,27 +23,28 @@ Scene* Chapter2::createScene()
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// create the title dialog
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- auto white = Color4F(1.0f, 0.5f, 0.3f, 1);
+ auto color = Color4F(1.0f, 0.5f, 0.3f, 1);
int verts = 4;
- cocos2d::Point stripe1[] = {
- cocos2d::Point(0,0),
- cocos2d::Point(0,200),
- cocos2d::Point(600,200),
- cocos2d::Point(600,0)
+ Vec2 stripe1[] = {
+ Vec2::ZERO,
+ Vec2(0,200),
+ Vec2(600,200),
+ Vec2(600,0)
};
- cocos2d::DrawNode* dotNode1 = cocos2d::DrawNode::create();
+ DrawNode* dotNode1 = DrawNode::create();
dotNode1->setContentSize(Size(600, 200));
- dotNode1->drawPolygon(stripe1, verts, white, 0, white);
+ dotNode1->drawPolygon(stripe1, verts, color, 0, color);
dotNode1->setPosition(Vec2(visibleSize.width/2 - (dotNode1->getContentSize().width / 2),
playingSize.height - dotNode1->getContentSize().height));
auto label = Label::createWithTTF("Super Cocos Aliens", "Marker Felt.ttf", 64);
dotNode1->addChild(label, 1);
- label->setPosition(Vec2(dotNode1->getContentSize().width/2, dotNode1->getContentSize().height/2));
+ auto dotNodeSize = dotNode1->getContentSize();
+ label->setPosition(Vec2(dotNodeSize.width/2, dotNodeSize.height/2));
scene->addChild(dotNode1, -1);
@@ -66,19 +67,24 @@ Scene* Chapter2::createScene()
labelNode->addChild(player2, 0);
labelNode->addChild(player1Score, 0);
labelNode->addChild(player2Score, 0);
+
+ auto player1Size = player1->getContentSize();
+ auto player1ScoreSize = player1Score->getContentSize();
+ auto player2Size = player2->getContentSize();
+ auto player2ScoreSize = player2Score->getContentSize();
+
+ player1->setPosition(Vec2(0 + player1Size.width / 2 + paddingX,
+ visibleSize.height - player1Size.height / 2 - paddingY));
- player1->setPosition(Vec2(0 + player1->getContentSize().width / 2 + paddingX,
- visibleSize.height - player1->getContentSize().height / 2 - paddingY));
-
- player1Score->setPosition(Vec2(0 + player1->getPositionX() + player1->getContentSize().width + paddingX,
- visibleSize.height - player1->getContentSize().height / 2 - paddingY));
-
- player2Score->setPosition(Vec2(visibleSize.width - player2Score->getContentSize().width / 2 - paddingX,
- visibleSize.height - player2Score->getContentSize().height / 2 - paddingY));
-
- player2->setPosition(Vec2(player2Score->getPositionX() - player2Score->getContentSize().width - paddingX,
- visibleSize.height - player2Score->getContentSize().height / 2 - paddingY));
+ player1Score->setPosition(Vec2(0 + player1->getPositionX() + player1ScoreSize.width + paddingX,
+ visibleSize.height - player1ScoreSize.height / 2 - paddingY));
+ player2Score->setPosition(Vec2(visibleSize.width - player2ScoreSize.width / 2 - paddingX,
+ visibleSize.height - player2ScoreSize.height / 2 - paddingY));
+
+ player2->setPosition(Vec2(player2Score->getPositionX() - player2Size.width - paddingX,
+ visibleSize.height - player2Size.height / 2 - paddingY));
+
scene->addChild(labelNode, -1);
@@ -92,18 +98,19 @@ Scene* Chapter2::createScene()
// depending upon how large the screen is we need to decide how many blocks to lay down.
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
auto testSprite = Sprite::create("ZigzagForest_Square.png");
+ auto spriteSize = testSprite->getContentSize();
- int howMany = std::ceil(visibleSize.width / testSprite->getContentSize().width);
+ int howMany = std::ceil(visibleSize.width / spriteSize.width);
int sX = 0; // act as a counter for setPosition x coordinate.
int sY = 0; // act as a counter for setPosition y coordinate.
- playingSize = Size(visibleSize.width, visibleSize.height - testSprite->getContentSize().height);
+ playingSize = Size(visibleSize.width, visibleSize.height - spriteSize.height);
for (int i=0; i < howMany; i++)
{
auto sprite = Sprite::create("ZigzagForest_Square.png");
- sprite->setAnchorPoint(Vec2(0,0));
+ sprite->setAnchorPoint(Vec2::ZERO);
sprite->setPosition(sX,sY);
sX += sprite->getContentSize().width;
@@ -124,7 +131,7 @@ Scene* Chapter2::createScene()
for (int i=0; i < 5; i++)
{
auto sprite = Sprite::create("ZigzagGrass_Mud_Round.png");
- sprite->setAnchorPoint(Vec2(0,0));
+ sprite->setAnchorPoint(Vec2::ZERO);
sprite->setPosition(sX,sY);
sX += sprite->getContentSize().width;
@@ -169,7 +176,7 @@ Scene* Chapter2::createScene()
menuItem1->setFontNameObj("Marker Felt.ttf");
menuItem1->setFontSizeObj(64);
- menuItem1->setCallback([&](cocos2d::Ref *sender) {
+ menuItem1->setCallback([&](Ref *sender) {
Director::getInstance()->replaceScene(Chapter2Level1::createScene());
});
diff --git a/src/chapter2/Chapter2Level1.cpp b/src/chapter2/Chapter2Level1.cpp
index f6b5b00..a397126 100644
--- a/src/chapter2/Chapter2Level1.cpp
+++ b/src/chapter2/Chapter2Level1.cpp
@@ -33,10 +33,10 @@ Scene* Chapter2Level1::createScene()
auto player1Score = Label::createWithTTF("00000", "Marker Felt.ttf", 32);
auto player2Score = Label::createWithTTF("00000", "Marker Felt.ttf", 32);
- labelNode->addChild(player1, 0);
- labelNode->addChild(player2, 0);
- labelNode->addChild(player1Score, 0);
- labelNode->addChild(player2Score, 0);
+ labelNode->addChild(player1, -2);
+ labelNode->addChild(player1Score, -1);
+ labelNode->addChild(player2, 1);
+ labelNode->addChild(player2Score, 2);
player1->setPosition(Vec2(0 + player1->getContentSize().width / 2 + paddingX,
visibleSize.height - player1->getContentSize().height / 2 - paddingY));
@@ -50,7 +50,7 @@ Scene* Chapter2Level1::createScene()
player2->setPosition(Vec2(player2Score->getPositionX() - player2Score->getContentSize().width - paddingX,
visibleSize.height - player2Score->getContentSize().height / 2 - paddingY));
- scene->addChild(labelNode, -1);
+ scene->addChild(labelNode, 0);
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// create a node to hold non-sprites.
@@ -79,7 +79,7 @@ Scene* Chapter2Level1::createScene()
sX += sprite->getContentSize().width;
- nodeItems->addChild(sprite, 0);
+ nodeItems->addChild(sprite, -1);
}
testSprite = NULL;
@@ -107,7 +107,7 @@ Scene* Chapter2Level1::createScene()
sprite->setName("middleBlock1");
}
- nodeItems->addChild(sprite, 0);
+ nodeItems->addChild(sprite, 1);
}
// right side blocks
@@ -127,7 +127,7 @@ Scene* Chapter2Level1::createScene()
sprite->setName("middleBlock2");
}
- scene->addChild(sprite,0);
+ scene->addChild(sprite, 1);
}
// center blocks
@@ -142,7 +142,7 @@ Scene* Chapter2Level1::createScene()
sX += sprite->getContentSize().width;
- nodeItems->addChild(sprite,0);
+ nodeItems->addChild(sprite, 1);
}
testSprite = NULL;
@@ -161,7 +161,7 @@ Scene* Chapter2Level1::createScene()
sprite1->setPosition(100, (visibleSize.height - playingSize.height));
sprite1->setName("mainSprite");
- spriteNode->addChild(sprite1, 0);
+ spriteNode->addChild(sprite1, 1);
scene->addChild(spriteNode, 1);
@@ -198,7 +198,7 @@ Scene* Chapter2Level1::createScene()
sprite1->setAnchorPoint(Vec2(0,0));
sprite1->setName("childSprite1");
- bnode->addChild(sprite1, 0);
+ bnode->addChild(sprite1, 1);
sprite1->setPosition(dnode->getPositionX(), dnode->getPositionY());
@@ -206,7 +206,7 @@ Scene* Chapter2Level1::createScene()
sprite2->setAnchorPoint(Vec2(0,0));
sprite2->setName("childSprite2");
- bnode->addChild(sprite2, 0);
+ bnode->addChild(sprite2, 1);
sprite2->setPosition(dnode->getPositionX() - dnode->getContentSize().width * 3, dnode->getPositionY());
@@ -220,19 +220,27 @@ Scene* Chapter2Level1::createScene()
auto anode = Director::getInstance()->getRunningScene()->getChildByName("spriteNode");
auto bnode = anode->getChildByName("mainSprite");
- auto rotateBy = RotateBy::create(2, 40.0f);
- auto scaleBy = ScaleTo::create(2, 2.0f);
+ bnode->setRotation(40.0f);
+
+ auto delay = DelayTime::create(4.0f);
+ bnode->runAction(delay);
+
+ bnode->setScale(2.0f);
+
+ // You could also use an Action and Sequence combination to do this.
+ //auto rotateBy = RotateBy::create(2, 40.0f);
+ //auto scaleBy = ScaleTo::create(2, 2.0f);
- auto seq = Sequence::create(rotateBy, scaleBy, NULL);
+ //auto seq = Sequence::create(rotateBy, scaleBy, NULL);
- bnode->runAction(seq);
+ //bnode->runAction(seq);
}, 3, "udpate_key");
});
auto menu = Menu::create(menuItem1, NULL);
menu->setName("menu");
- menuNode->addChild(menu, 0);
+ menuNode->addChild(menu, 1);
menu->setPosition(visibleSize.width / 2, visibleSize.height - menuItem1->getContentSize().height * 2);
scene->addChild(menuNode, 2);
diff --git a/src/chapter10/AppDelegate.cpp b/src/chapter3/AppDelegate.cpp
similarity index 94%
rename from src/chapter10/AppDelegate.cpp
rename to src/chapter3/AppDelegate.cpp
index e929360..a98528b 100644
--- a/src/chapter10/AppDelegate.cpp
+++ b/src/chapter3/AppDelegate.cpp
@@ -1,5 +1,5 @@
#include "AppDelegate.h"
-#include "Chapter10.h"
+#include "Chapter3.h"
USING_NS_CC;
@@ -32,13 +32,13 @@ bool AppDelegate::applicationDidFinishLaunching() {
}
// turn on display FPS
- director->setDisplayStats(true);
+ //director->setDisplayStats(true);
// set FPS. the default value is 1.0/60 if you don't call this
director->setAnimationInterval(1.0 / 60);
// create a scene. it's an autorelease object
- auto scene = Chapter10::createScene();
+ auto scene = Chapter3::createScene();
// run
director->runWithScene(scene);
diff --git a/src/chapter3/AppDelegate.h b/src/chapter3/AppDelegate.h
new file mode 100644
index 0000000..625506c
--- /dev/null
+++ b/src/chapter3/AppDelegate.h
@@ -0,0 +1,40 @@
+#ifndef _APP_DELEGATE_H_
+#define _APP_DELEGATE_H_
+
+#include "cocos2d.h"
+
+/**
+@brief The cocos2d Application.
+
+The reason for implement as private inheritance is to hide some interface call by Director.
+*/
+class AppDelegate : private cocos2d::Application
+{
+public:
+ AppDelegate();
+ virtual ~AppDelegate();
+
+ virtual void initGLContextAttrs();
+
+ /**
+ @brief Implement Director and Scene init code here.
+ @return true Initialize success, app continue.
+ @return false Initialize failed, app terminate.
+ */
+ virtual bool applicationDidFinishLaunching();
+
+ /**
+ @brief The function be called when the application enter background
+ @param the pointer of the application
+ */
+ virtual void applicationDidEnterBackground();
+
+ /**
+ @brief The function be called when the application enter foreground
+ @param the pointer of the application
+ */
+ virtual void applicationWillEnterForeground();
+};
+
+#endif // _APP_DELEGATE_H_
+
diff --git a/src/chapter3/Chapter3.cpp b/src/chapter3/Chapter3.cpp
new file mode 100644
index 0000000..30376dc
--- /dev/null
+++ b/src/chapter3/Chapter3.cpp
@@ -0,0 +1,553 @@
+#include "Chapter3.h"
+
+USING_NS_CC;
+
+Scene* Chapter3::createScene()
+{
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // some upfront items that we need
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto dirs = Director::getInstance();
+ Size visibleSize = dirs->getVisibleSize();
+ Vec2 origin = dirs->getVisibleOrigin();
+
+ Size playingSize = Size(visibleSize.width, visibleSize.height - (visibleSize.height/8)); // actual playing size to work with
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a scene
+ // 'scene' is an autorelease object
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto scene = Scene::create();
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a node to hold non-sprites.
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto nodeItems = Node::create();
+ nodeItems->setName("nodeItems");
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a node to hold menu
+ // create a menu
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto menuNode = Node::create();
+ menuNode->setName("menuNode");
+ int index = 2;
+
+ auto menuItem1 = MenuItemFont::create("First: Create a Sprite");
+ menuItem1->setFontNameObj("Marker Felt.ttf");
+ menuItem1->setFontSizeObj(32);
+ menuItem1->setName("menuItem1");
+ menuItem1->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem1->setCallback([&](cocos2d::Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ auto newSprite = Sprite::create("Blue_Front1.png");
+ newSprite->setPosition(100, 256);
+ newSprite->setName("sprite1");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem1");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem2");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem2 = MenuItemFont::create("Next: Create a Sprite from a Rect");
+ menuItem2->setFontNameObj("Marker Felt.ttf");
+ menuItem2->setFontSizeObj(32);
+ menuItem2->setName("menuItem2");
+ menuItem2->setVisible(false);
+ menuItem2->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem2->setCallback([&](cocos2d::Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ auto newSprite = Sprite::create("Blue_Front1.png", Rect(0,0,50,50));
+ newSprite->setPosition(250, 256);
+ newSprite->setName("sprite2");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem2");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem3");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem3 = MenuItemFont::create("Next: Create a Sprite from SpriteFrameCache");
+ menuItem3->setFontNameObj("Marker Felt.ttf");
+ menuItem3->setFontSizeObj(32);
+ menuItem3->setName("menuItem3");
+ menuItem3->setVisible(false);
+ menuItem3->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem3->setCallback([&](cocos2d::Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ auto spritecache = SpriteFrameCache::getInstance();
+ spritecache->addSpriteFramesWithFile("sprites.plist");
+
+ auto newSprite = Sprite::createWithSpriteFrameName("Blue_Front1.png");
+ newSprite->setPosition(400, 256);
+ newSprite->setName("sprite3");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem3");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem4");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem4 = MenuItemFont::create("Next: Create a Sprite from SpriteFrame");
+ menuItem4->setFontNameObj("Marker Felt.ttf");
+ menuItem4->setFontSizeObj(32);
+ menuItem4->setName("menuItem4");
+ menuItem4->setVisible(false);
+ menuItem4->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem4->setCallback([&](cocos2d::Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ auto spritecache = SpriteFrameCache::getInstance();
+ spritecache->addSpriteFramesWithFile("sprites.plist");
+
+ auto newspriteFrame = SpriteFrame::create("Blue_Front1.png", Rect(0,0,50,50));
+
+ auto newSprite = Sprite::createWithSpriteFrame(newspriteFrame);
+ newSprite->setPosition(550, 256);
+ newSprite->setName("sprite4");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem4");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem5");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem5 = MenuItemFont::create("Next: Scale a Sprite");
+ menuItem5->setFontNameObj("Marker Felt.ttf");
+ menuItem5->setFontSizeObj(32);
+ menuItem5->setName("menuItem5");
+ menuItem5->setVisible(false);
+ menuItem5->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem5->setCallback([&](cocos2d::Ref *sender) {
+ // hide everything else on the screen
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite1");
+ dirs->removeChildByName("sprite2");
+ dirs->removeChildByName("sprite3");
+ dirs->removeChildByName("sprite4");
+
+ auto newSprite = Sprite::create("Blue_Front1.png");
+ newSprite->setPosition(100, 256);
+ newSprite->setName("sprite5");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto point00 = Sprite::create("dot.png");
+ point00->setName("point00");
+ point00->setPosition(newSprite->getPosition());
+ dirs->addChild(point00,2);
+
+ auto newSpriteScaleXY = Sprite::create("Blue_Front1.png");
+ newSpriteScaleXY->setPosition(300,256);
+ newSpriteScaleXY->setName("sprite6");
+ newSpriteScaleXY->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteScaleXY->setScale(2.0f);
+ dirs->addChild(newSpriteScaleXY,1);
+
+ auto pointXY = Sprite::create("dot.png");
+ pointXY->setName("pointXY");
+ pointXY->setPosition(newSpriteScaleXY->getPosition());
+ dirs->addChild(pointXY,2);
+
+ auto newSpriteScaleX = Sprite::create("Blue_Front1.png");
+ newSpriteScaleX->setPosition(500,256);
+ newSpriteScaleX->setName("sprite7");
+ newSpriteScaleX->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteScaleX->setScaleX(2.0f);
+ dirs->addChild(newSpriteScaleX,1);
+
+ auto pointX = Sprite::create("dot.png");
+ pointX->setName("pointX");
+ pointX->setPosition(newSpriteScaleX->getPosition());
+ dirs->addChild(pointX,2);
+
+ auto newSpriteScaleY = Sprite::create("Blue_Front1.png");
+ newSpriteScaleY->setPosition(800, 256);
+ newSpriteScaleY->setName("sprite8");
+ newSpriteScaleY->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteScaleY->setScaleY(2.0f);
+ dirs->addChild(newSpriteScaleY,1);
+
+ auto pointY = Sprite::create("dot.png");
+ pointY->setName("pointY");
+ pointY->setPosition(newSpriteScaleY->getPosition());
+ dirs->addChild(pointY,2);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem5");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem6");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem6 = MenuItemFont::create("Next: Anchor Point and Sprite");
+ menuItem6->setFontNameObj("Marker Felt.ttf");
+ menuItem6->setFontSizeObj(32);
+ menuItem6->setName("menuItem6");
+ menuItem6->setVisible(false);
+ menuItem6->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem6->setCallback([&](cocos2d::Ref *sender) {
+ // hide everything else on the screen
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite5");
+ dirs->removeChildByName("sprite6");
+ dirs->removeChildByName("sprite7");
+ dirs->removeChildByName("sprite8");
+ dirs->removeChildByName("point00");
+ dirs->removeChildByName("pointXY");
+ dirs->removeChildByName("pointX");
+ dirs->removeChildByName("pointY");
+
+
+ auto newSprite00 = Sprite::create("Blue_Front1.png");
+ newSprite00->setPosition(100, 256);
+ newSprite00->setName("sprite9");
+ newSprite00->setAnchorPoint(Vec2(0,0));
+ dirs->addChild(newSprite00,1);
+
+ auto point00 = Sprite::create("dot.png");
+ point00->setName("point00");
+ point00->setPosition(newSprite00->getPosition());
+ dirs->addChild(point00,2);
+
+ auto newSprite01 = Sprite::create("Blue_Front1.png");
+ newSprite01->setPosition(250, 256);
+ newSprite01->setName("sprite10");
+ newSprite01->setAnchorPoint(Vec2(0,1));
+ dirs->addChild(newSprite01,1);
+
+ auto point01 = Sprite::create("dot.png");
+ point01->setName("point01");
+ point01->setPosition(newSprite01->getPosition());
+ dirs->addChild(point01,2);
+
+ auto newSprite10 = Sprite::create("Blue_Front1.png");
+ newSprite10->setPosition(400, 256);
+ newSprite10->setName("sprite11");
+ newSprite10->setAnchorPoint(Vec2(1,0));
+ dirs->addChild(newSprite10,1);
+
+ auto point10 = Sprite::create("dot.png");
+ point10->setName("point10");
+ point10->setPosition(newSprite10->getPosition());
+ dirs->addChild(point10,2);
+
+ auto newSprite11 = Sprite::create("Blue_Front1.png");
+ newSprite11->setPosition(550, 256);
+ newSprite11->setName("sprite12");
+ newSprite11->setAnchorPoint(Vec2(1,1));
+ dirs->addChild(newSprite11,1);
+
+ auto point11 = Sprite::create("dot.png");
+ point11->setName("point11");
+ point11->setPosition(newSprite11->getPosition());
+ dirs->addChild(point11,2);
+
+ auto newSprite22 = Sprite::create("Blue_Front1.png");
+ newSprite22->setPosition(700, 256);
+ newSprite22->setName("sprite13");
+ newSprite22->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite22,1);
+
+ auto point22 = Sprite::create("dot.png");
+ point22->setName("point22");
+ point22->setPosition(newSprite22->getPosition());
+ dirs->addChild(point22,2);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem6");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem7");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem7 = MenuItemFont::create("Next: Skew a Sprite");
+ menuItem7->setFontNameObj("Marker Felt.ttf");
+ menuItem7->setFontSizeObj(32);
+ menuItem7->setName("menuItem7");
+ menuItem7->setVisible(false);
+ menuItem7->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem7->setCallback([&](cocos2d::Ref *sender) {
+ // hide everything else on the screen
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite9");
+ dirs->removeChildByName("sprite10");
+ dirs->removeChildByName("sprite11");
+ dirs->removeChildByName("sprite12");
+ dirs->removeChildByName("sprite13");
+ dirs->removeChildByName("point00");
+ dirs->removeChildByName("point01");
+ dirs->removeChildByName("point10");
+ dirs->removeChildByName("point11");
+ dirs->removeChildByName("point22");
+
+ auto newSprite = Sprite::create("Blue_Front1.png");
+ newSprite->setPosition(100, 256);
+ newSprite->setName("sprite14");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto pointN = Sprite::create("dot.png");
+ pointN->setName("pointN");
+ pointN->setPosition(newSprite->getPosition());
+ dirs->addChild(pointN,2);
+
+ auto newSpriteSkewX = Sprite::create("Blue_Front1.png");
+ newSpriteSkewX->setPosition(250, 256);
+ newSpriteSkewX->setName("sprite15");
+ newSpriteSkewX->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteSkewX->setSkewX(20.0f);
+ dirs->addChild(newSpriteSkewX,1);
+
+ auto pointX = Sprite::create("dot.png");
+ pointX->setName("pointX");
+ pointX->setPosition(newSpriteSkewX->getPosition());
+ dirs->addChild(pointX,2);
+
+ auto newSpriteSkewY = Sprite::create("Blue_Front1.png");
+ newSpriteSkewY->setPosition(400, 256);
+ newSpriteSkewY->setName("sprite16");
+ newSpriteSkewY->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteSkewY->setSkewY(20.0f);
+ dirs->addChild(newSpriteSkewY,1);
+
+ auto pointY = Sprite::create("dot.png");
+ pointY->setName("pointY");
+ pointY->setPosition(newSpriteSkewY->getPosition());
+ dirs->addChild(pointY,2);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem7");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem8");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem8 = MenuItemFont::create("Next: Rotate a Sprite");
+ menuItem8->setFontNameObj("Marker Felt.ttf");
+ menuItem8->setFontSizeObj(32);
+ menuItem8->setName("menuItem8");
+ menuItem8->setVisible(false);
+ menuItem8->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem8->setCallback([&](cocos2d::Ref *sender) {
+ // hide everything else on the screen
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite14");
+ dirs->removeChildByName("sprite15");
+ dirs->removeChildByName("sprite16");
+ dirs->removeChildByName("pointN");
+ dirs->removeChildByName("pointX");
+ dirs->removeChildByName("pointY");
+
+ auto newSprite = Sprite::create("Blue_Front1.png");
+ newSprite->setPosition(100, 256);
+ newSprite->setName("sprite17");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto point00 = Sprite::create("dot.png");
+ point00->setName("point00");
+ point00->setPosition(newSprite->getPosition());
+ dirs->addChild(point00,2);
+
+ auto newSpriteRotateP20 = Sprite::create("Blue_Front1.png");
+ newSpriteRotateP20->setPosition(250, 256);
+ newSpriteRotateP20->setName("sprite18");
+ newSpriteRotateP20->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteRotateP20->setRotation(20.0f);
+ dirs->addChild(newSpriteRotateP20,1);
+
+ auto pointP20 = Sprite::create("dot.png");
+ pointP20->setName("pointP20");
+ pointP20->setPosition(newSpriteRotateP20->getPosition());
+ dirs->addChild(pointP20,2);
+
+ auto newSpriteRotateN20 = Sprite::create("Blue_Front1.png");
+ newSpriteRotateN20->setPosition(400, 256);
+ newSpriteRotateN20->setName("sprite19");
+ newSpriteRotateN20->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteRotateN20->setRotation(-20.0f);
+ dirs->addChild(newSpriteRotateN20,1);
+
+ auto pointN20 = Sprite::create("dot.png");
+ pointN20->setName("pointN20");
+ pointN20->setPosition(newSpriteRotateN20->getPosition());
+ dirs->addChild(pointN20,2);
+
+ auto newSpriteRotateP60 = Sprite::create("Blue_Front1.png");
+ newSpriteRotateP60->setPosition(550, 256);
+ newSpriteRotateP60->setName("sprite20");
+ newSpriteRotateP60->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteRotateP60->setRotation(60.0f);
+ dirs->addChild(newSpriteRotateP60,1);
+
+ auto pointP60 = Sprite::create("dot.png");
+ pointP60->setName("pointP60");
+ pointP60->setPosition(newSpriteRotateP60->getPosition());
+ dirs->addChild(pointP60,2);
+
+ auto newSpriteRotateN60 = Sprite::create("Blue_Front1.png");
+ newSpriteRotateN60->setPosition(700, 256);
+ newSpriteRotateN60->setName("sprite21");
+ newSpriteRotateN60->setAnchorPoint(Vec2(0.5,0.5));
+ newSpriteRotateN60->setRotation(-60.0f);
+ dirs->addChild(newSpriteRotateN60,1);
+
+ auto pointN60 = Sprite::create("dot.png");
+ pointN60->setName("pointN60");
+ pointN60->setPosition(newSpriteRotateN60->getPosition());
+ dirs->addChild(pointN60,2);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem8");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem9");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem9 = MenuItemFont::create("Next: Change the Color of a Sprite");
+ menuItem9->setFontNameObj("Marker Felt.ttf");
+ menuItem9->setFontSizeObj(32);
+ menuItem9->setName("menuItem9");
+ menuItem9->setVisible(false);
+ menuItem9->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem9->setCallback([&](cocos2d::Ref *sender) {
+ // hide everything else on the screen
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite18");
+ dirs->removeChildByName("sprite19");
+ dirs->removeChildByName("sprite20");
+ dirs->removeChildByName("sprite21");
+ dirs->removeChildByName("point00");
+ dirs->removeChildByName("pointP20");
+ dirs->removeChildByName("pointN20");
+ dirs->removeChildByName("pointP60");
+ dirs->removeChildByName("pointN60");
+
+ auto newSprite = Sprite::create("Blue_Front1.png");
+ newSprite->setPosition(100, 256);
+ newSprite->setName("sprite30");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(200, 256);
+ newSprite2->setName("sprite31");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ newSprite2->setColor(Color3B(155, 200, 50));
+ dirs->addChild(newSprite2,1);
+
+ auto newSprite3 = Sprite::create("Blue_Front1.png");
+ newSprite3->setPosition(300, 256);
+ newSprite3->setName("sprite32");
+ newSprite3->setAnchorPoint(Vec2(0.5,0.5));
+ newSprite3->setColor(Color3B(10, 230, 100));
+ dirs->addChild(newSprite3,1);
+
+ auto newSprite4 = Sprite::create("Blue_Front1.png");
+ newSprite4->setPosition(400, 256);
+ newSprite4->setName("sprite33");
+ newSprite4->setAnchorPoint(Vec2(0.5,0.5));
+ newSprite4->setColor(Color3B(100, 101, 230));
+ dirs->addChild(newSprite4,1);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem9");
+ cnode->setVisible(false);
+ auto dnode = bnode->getChildByName("menuItem10");
+ dnode->setVisible(true);
+ });
+
+ auto menuItem10 = MenuItemFont::create("Next: Change the Color of a Sprite");
+ menuItem10->setFontNameObj("Marker Felt.ttf");
+ menuItem10->setFontSizeObj(32);
+ menuItem10->setName("menuItem10");
+ menuItem10->setVisible(false);
+ menuItem10->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem10->setCallback([&](cocos2d::Ref *sender) {
+ // hide everything else on the screen
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite30");
+ dirs->removeChildByName("sprite31");
+ dirs->removeChildByName("sprite32");
+ dirs->removeChildByName("sprite33");
+
+ auto newSprite = Sprite::create("Blue_Front1.png");
+ newSprite->setPosition(100, 256);
+ newSprite->setName("sprite34");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ newSprite->setOpacity(0.0f);
+ dirs->addChild(newSprite,1);
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(200, 256);
+ newSprite2->setName("sprite35");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ newSprite2->setOpacity(99);
+ dirs->addChild(newSprite2,1);
+
+ auto newSprite3 = Sprite::create("Blue_Front1.png");
+ newSprite3->setPosition(300, 256);
+ newSprite3->setName("sprite36");
+ newSprite3->setAnchorPoint(Vec2(0.5,0.5));
+ newSprite3->setOpacity(89);
+ dirs->addChild(newSprite3,1);
+
+ auto newSprite4 = Sprite::create("Blue_Front1.png");
+ newSprite4->setPosition(400, 256);
+ newSprite4->setName("sprite37");
+
+ newSprite4->setAnchorPoint(Vec2(0.5,0.5));
+ newSprite4->setOpacity(79);
+ dirs->addChild(newSprite4,1);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem10");
+ cnode->setVisible(false);
+ //auto dnode = bnode->getChildByName("menuItem10");
+ //dnode->setVisible(true);
+ });
+
+ auto menu = Menu::create(menuItem1, menuItem2, menuItem3, menuItem4, menuItem5, menuItem6,
+ menuItem7, menuItem8, menuItem9, menuItem10, NULL);
+ menu->setName("menu");
+ menuNode->addChild(menu, 1);
+ menu->setPosition(Vec2::ZERO);
+
+ scene->addChild(menuNode, 2);
+
+ // return the scene
+ return scene;
+}
diff --git a/src/chapter3/Chapter3.h b/src/chapter3/Chapter3.h
new file mode 100644
index 0000000..d56056d
--- /dev/null
+++ b/src/chapter3/Chapter3.h
@@ -0,0 +1,16 @@
+#ifndef __CHAPTER3_H__
+#define __CHAPTER3_H__
+
+#include "cocos2d.h"
+
+#include
+
+USING_NS_CC;
+
+class Chapter3 : public Ref
+{
+ public:
+ static cocos2d::Scene* createScene();
+};
+
+#endif // __CHAPTER3_H__
diff --git a/src/chapter4/AppDelegate.cpp b/src/chapter4/AppDelegate.cpp
new file mode 100644
index 0000000..e2fb65c
--- /dev/null
+++ b/src/chapter4/AppDelegate.cpp
@@ -0,0 +1,63 @@
+#include "AppDelegate.h"
+#include "Chapter4.h"
+
+USING_NS_CC;
+
+AppDelegate::AppDelegate() {
+
+}
+
+AppDelegate::~AppDelegate()
+{
+}
+
+//if you want a different context,just modify the value of glContextAttrs
+//it will takes effect on all platforms
+void AppDelegate::initGLContextAttrs()
+{
+ //set OpenGL context attributions,now can only set six attributions:
+ //red,green,blue,alpha,depth,stencil
+ GLContextAttrs glContextAttrs = {8, 8, 8, 8, 24, 8};
+
+ GLView::setGLContextAttrs(glContextAttrs);
+}
+
+bool AppDelegate::applicationDidFinishLaunching() {
+ // initialize director
+ auto director = Director::getInstance();
+ auto glview = director->getOpenGLView();
+ if(!glview) {
+ glview = GLViewImpl::create("My Game");
+ director->setOpenGLView(glview);
+ }
+
+ // turn on display FPS
+ //director->setDisplayStats(true);
+
+ // set FPS. the default value is 1.0/60 if you don't call this
+ director->setAnimationInterval(1.0 / 60);
+
+ // create a scene. it's an autorelease object
+ auto scene = Chapter4::createScene();
+
+ // run
+ director->runWithScene(scene);
+
+ return true;
+}
+
+// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
+void AppDelegate::applicationDidEnterBackground() {
+ Director::getInstance()->stopAnimation();
+
+ // if you use SimpleAudioEngine, it must be pause
+ // SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
+}
+
+// this function will be called when the app is active again
+void AppDelegate::applicationWillEnterForeground() {
+ Director::getInstance()->startAnimation();
+
+ // if you use SimpleAudioEngine, it must resume here
+ // SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
+}
diff --git a/src/chapter4/AppDelegate.h b/src/chapter4/AppDelegate.h
new file mode 100644
index 0000000..625506c
--- /dev/null
+++ b/src/chapter4/AppDelegate.h
@@ -0,0 +1,40 @@
+#ifndef _APP_DELEGATE_H_
+#define _APP_DELEGATE_H_
+
+#include "cocos2d.h"
+
+/**
+@brief The cocos2d Application.
+
+The reason for implement as private inheritance is to hide some interface call by Director.
+*/
+class AppDelegate : private cocos2d::Application
+{
+public:
+ AppDelegate();
+ virtual ~AppDelegate();
+
+ virtual void initGLContextAttrs();
+
+ /**
+ @brief Implement Director and Scene init code here.
+ @return true Initialize success, app continue.
+ @return false Initialize failed, app terminate.
+ */
+ virtual bool applicationDidFinishLaunching();
+
+ /**
+ @brief The function be called when the application enter background
+ @param the pointer of the application
+ */
+ virtual void applicationDidEnterBackground();
+
+ /**
+ @brief The function be called when the application enter foreground
+ @param the pointer of the application
+ */
+ virtual void applicationWillEnterForeground();
+};
+
+#endif // _APP_DELEGATE_H_
+
diff --git a/src/chapter4/Chapter4.cpp b/src/chapter4/Chapter4.cpp
new file mode 100644
index 0000000..6959e8e
--- /dev/null
+++ b/src/chapter4/Chapter4.cpp
@@ -0,0 +1,493 @@
+#include "Chapter4.h"
+
+USING_NS_CC;
+
+Scene* Chapter4::createScene()
+{
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // some upfront items that we need
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto dirs = Director::getInstance();
+ Size visibleSize = dirs->getVisibleSize();
+ Vec2 origin = dirs->getVisibleOrigin();
+
+ Size playingSize = Size(visibleSize.width, visibleSize.height - (visibleSize.height/8)); // actual playing size to work with
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a scene
+ // 'scene' is an autorelease object
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto scene = Scene::create();
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a node to hold non-sprites.
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto nodeItems = Node::create();
+ nodeItems->setName("nodeItems");
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a node to hold menu
+ // create a menu
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto menuNode = Node::create();
+ menuNode->setName("menuNode");
+ int index = 2;
+
+ auto menuItem1 = MenuItemFont::create("First: Create a Sprite");
+ menuItem1->setFontNameObj("Marker Felt.ttf");
+ menuItem1->setFontSizeObj(32);
+ menuItem1->setName("menuItem1");
+ menuItem1->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem1->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("point2"); // old one
+ dirs->removeChildByName("point3"); // old one
+
+ auto newSprite = Sprite::create("Blue_Front1.png");
+ newSprite->setPosition(100, 56);
+ newSprite->setName("sprite1");
+ newSprite->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite,1);
+
+ auto point1 = Sprite::create("dot.png");
+ point1->setName("point1");
+ point1->setPosition(newSprite->getPosition());
+ dirs->addChild(point1,2);
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(100, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ auto anode = dirs->getChildByName("menuNode");
+ auto bnode = anode->getChildByName("menu");
+ auto cnode = bnode->getChildByName("menuItem1");
+ cnode->setVisible(false);
+ cnode = bnode->getChildByName("menuItem2");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem3");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem4");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem5");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem6");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem7");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem8");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem9");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem10");
+ cnode->setVisible(true);
+ cnode = bnode->getChildByName("menuItem11");
+ cnode->setVisible(true);
+ });
+
+ auto menuItem2 = MenuItemFont::create("MoveTo/MoveBy");
+ menuItem2->setFontNameObj("Marker Felt.ttf");
+ menuItem2->setFontSizeObj(32);
+ menuItem2->setName("menuItem2");
+ menuItem2->setVisible(false);
+ menuItem2->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem2->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(100, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ auto moveBy = MoveBy::create(2, Point(500, 0));
+
+ auto moveTo = MoveTo::create(2, Point(300, 56));
+
+ auto delay = DelayTime::create(2.0f);
+
+ auto sequence = Sequence::create(moveBy, delay, NULL);
+ auto sequence2 = Sequence::create(delay, moveTo, NULL);
+
+ newSprite2->runAction(sequence);
+
+ auto newSprite3 = Sprite::create("Blue_Front1.png");
+ newSprite3->setPosition(600, 56);
+ newSprite3->setName("sprite3");
+ newSprite3->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite3,1);
+
+ newSprite3->runAction(sequence2);
+ });
+
+ auto menuItem3 = MenuItemFont::create("FadeIn/FadeOut");
+ menuItem3->setFontNameObj("Marker Felt.ttf");
+ menuItem3->setFontSizeObj(32);
+ menuItem3->setName("menuItem3");
+ menuItem3->setVisible(false);
+ menuItem3->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem3->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(300, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ auto fadeIn = FadeIn::create(1.0f);
+ newSprite2->runAction(fadeIn);
+
+ auto newSprite3 = Sprite::create("Blue_Front1.png");
+ newSprite3->setPosition(500, 56);
+ newSprite3->setName("sprite3");
+ newSprite3->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite3,1);
+
+ auto fadeOut = FadeOut::create(2.0f);
+ newSprite3->runAction(fadeOut);
+ });
+
+ auto menuItem11 = MenuItemFont::create("Animate");
+ menuItem11->setFontNameObj("Marker Felt.ttf");
+ menuItem11->setFontSizeObj(32);
+ menuItem11->setName("menuItem11");
+ menuItem11->setVisible(false);
+ menuItem11->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem11->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(300, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ auto moveBy = MoveBy::create(2.0f, Vec2(500, 0));
+
+ newSprite2->runAction(moveBy);
+
+ // now lets animate the sprite we moved
+ Vector animFrames;
+ animFrames.reserve(12);
+ animFrames.pushBack(SpriteFrame::create("Blue_Front1.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Front2.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Front3.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Left1.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Left2.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Left3.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Back1.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Back2.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Back3.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Right1.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Right2.png", Rect(0,0,65,81)));
+ animFrames.pushBack(SpriteFrame::create("Blue_Right3.png", Rect(0,0,65,81)));
+
+ // create the animation out of the frames
+ Animation* animation = Animation::createWithSpriteFrames(animFrames, 0.1f);
+ Animate* animate = Animate::create(animation);
+
+ // run it and repeat it forever
+ newSprite2->runAction(RepeatForever::create(animate));
+ });
+
+ auto menuItem4 = MenuItemFont::create("RotateTo/RotateBy");
+ menuItem4->setFontNameObj("Marker Felt.ttf");
+ menuItem4->setFontSizeObj(32);
+ menuItem4->setName("menuItem4");
+ menuItem4->setVisible(false);
+ menuItem4->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem4->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(300, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ auto point2 = Sprite::create("dot.png");
+ point2->setName("point2");
+ point2->setPosition(newSprite2->getPosition());
+ dirs->addChild(point2,2);
+
+ auto newSprite3 = Sprite::create("Blue_Front1.png");
+ newSprite3->setPosition(500, 56);
+ newSprite3->setName("sprite3");
+ newSprite3->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite3,1);
+
+ auto point3 = Sprite::create("dot.png");
+ point3->setName("point3");
+ point3->setPosition(newSprite3->getPosition());
+ dirs->addChild(point3,2);
+
+ auto rotateTo = RotateTo::create(2.0f, 40.0f);
+ newSprite2->runAction(rotateTo);
+
+ auto rotateBy = RotateBy::create(2.0f, -20.0f);
+ newSprite3->runAction(rotateBy);
+ });
+
+ auto menuItem5 = MenuItemFont::create("ScaleTo/ScaleBy");
+ menuItem5->setFontNameObj("Marker Felt.ttf");
+ menuItem5->setFontSizeObj(32);
+ menuItem5->setName("menuItem5");
+ menuItem5->setVisible(false);
+ menuItem5->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem5->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ dirs->getChildByName("sprite1")->setPosition(100, 100);
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(300, 100);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ auto point2 = Sprite::create("dot.png");
+ point2->setName("point2");
+ point2->setPosition(newSprite2->getPosition());
+ dirs->addChild(point2,2);
+
+ auto scaleTo = ScaleTo::create(2.0f, 2.0f);
+ newSprite2->runAction(scaleTo);
+
+ auto newSprite3 = Sprite::create("Blue_Front1.png");
+ newSprite3->setPosition(500, 56);
+ newSprite3->setName("sprite3");
+ newSprite3->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite3,1);
+
+ auto point3 = Sprite::create("dot.png");
+ point3->setName("point3");
+ point3->setPosition(newSprite3->getPosition());
+ dirs->addChild(point3,2);
+
+ auto scaleBy = ScaleBy::create(2.0f, 0.5f);
+ newSprite3->runAction(scaleBy);
+
+ dirs->getChildByName("sprite1")->setPosition(100, 56);
+ });
+
+ auto menuItem6 = MenuItemFont::create("TintTo/TintBy");
+ menuItem6->setFontNameObj("Marker Felt.ttf");
+ menuItem6->setFontSizeObj(32);
+ menuItem6->setName("menuItem6");
+ menuItem6->setVisible(false);
+ menuItem6->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem6->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->getChildByName("point1")->setVisible(false); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(300, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ auto tintTo = TintTo::create(2.0f, 120.0f, 232.0f, 254.0f);
+ newSprite2->runAction(tintTo);
+
+ auto newSprite3 = Sprite::create("Blue_Front1.png");
+ newSprite3->setPosition(500, 56);
+ newSprite3->setName("sprite3");
+ newSprite3->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite3,1);
+
+ auto tintBy = TintBy::create(2.0f, 30.0f, 0, 0);
+ newSprite3->runAction(tintBy);
+ });
+
+ auto menuItem7 = MenuItemFont::create("Ease");
+ menuItem7->setFontNameObj("Marker Felt.ttf");
+ menuItem7->setFontSizeObj(32);
+ menuItem7->setName("menuItem7");
+ menuItem7->setVisible(false);
+ menuItem7->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem7->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance();
+ dirs->getRunningScene()->getChildByName("point1")->setVisible(true);
+ dirs->getRunningScene()->removeChildByName("sprite2"); // the old one
+ dirs->getRunningScene()->removeChildByName("sprite3"); // the old one
+ dirs->getRunningScene()->removeChildByName("point2"); // the old one
+ dirs->getRunningScene()->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(100, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->getRunningScene()->addChild(newSprite2,1);
+
+// auto newSprite3 = Sprite::create("White_Front1.png");
+// newSprite3->setPosition(100, 56);
+// newSprite3->setName("sprite3");
+// newSprite3->setAnchorPoint(Vec2(0.5,0.5));
+// dirs->addChild(newSprite3,1);
+//
+ auto move = MoveBy::create(2, Point(200, dirs->getVisibleSize().height - newSprite2->getContentSize().height));
+ auto move_back = move->reverse();
+
+ auto move_ease_in = EaseBounceIn::create(move->clone() );
+ auto move_ease_in_back = move_ease_in->reverse();
+
+ auto move_ease_out = EaseBounceOut::create(move->clone() );
+ auto move_ease_out_back = move_ease_out->reverse();
+
+ auto delay = DelayTime::create(0.25f);
+
+ auto seq1 = Sequence::create(move_ease_in, delay, move_ease_in_back, delay->clone(), nullptr);
+
+ newSprite2->runAction(RepeatForever::create(seq1));
+ });
+
+ auto menuItem8 = MenuItemFont::create("Sequence");
+ menuItem8->setFontNameObj("Marker Felt.ttf");
+ menuItem8->setFontSizeObj(32);
+ menuItem8->setName("menuItem8");
+ menuItem8->setVisible(false);
+ menuItem8->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem8->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(100, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ // create a few actions.
+ auto jump = JumpBy::create(0.5, Point(0, 0), 100, 1);
+
+ auto rotate = RotateTo::create(2.0f, 10);
+
+ // create a few callbacks
+ auto callbackJump = CallFunc::create([](){
+ log("Jumped!");
+ });
+
+ auto callbackRotate = CallFunc::create([](){
+ log("Rotated!");
+ });
+
+ // create a sequence with the actions and callbacks
+ auto seq = Sequence::create(jump, callbackJump, rotate, callbackRotate, nullptr);
+
+ newSprite2->runAction(RepeatForever::create(seq));
+ });
+
+ auto menuItem9 = MenuItemFont::create("Spawn");
+ menuItem9->setFontNameObj("Marker Felt.ttf");
+ menuItem9->setFontSizeObj(32);
+ menuItem9->setName("menuItem9");
+ menuItem9->setVisible(false);
+ menuItem9->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem9->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(100, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ // create a few actions
+ auto moveBy = MoveBy::create(10, Point(400,100));
+ auto fadeTo = FadeTo::create(2.0f, 120.0f);
+
+ // running the above Actions with Spawn.
+ auto mySpawn = Spawn::createWithTwoActions(moveBy, fadeTo);
+ newSprite2->runAction(mySpawn);
+ });
+
+ auto menuItem10 = MenuItemFont::create("Reverse");
+ menuItem10->setFontNameObj("Marker Felt.ttf");
+ menuItem10->setFontSizeObj(32);
+ menuItem10->setName("menuItem10");
+ menuItem10->setVisible(false);
+ menuItem10->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (++index) * 40));
+ menuItem10->setCallback([&](Ref *sender) {
+ auto dirs = Director::getInstance()->getRunningScene();
+ dirs->removeChildByName("sprite2"); // the old one
+ dirs->removeChildByName("sprite3"); // the old one
+ dirs->removeChildByName("point2"); // the old one
+ dirs->removeChildByName("point3"); // the old one
+
+ auto newSprite2 = Sprite::create("Blue_Front1.png");
+ newSprite2->setPosition(100, 56);
+ newSprite2->setName("sprite2");
+ newSprite2->setAnchorPoint(Vec2(0.5,0.5));
+ dirs->addChild(newSprite2,1);
+
+ // create a few Actions
+ auto moveBy = MoveBy::create(2.0f, Point(500,0));
+ auto scaleBy = ScaleBy::create(2.0f, 2.0f);
+ auto delay = DelayTime::create(1.0f);
+
+ // create a sequence
+ auto delaySequence = Sequence::create(delay, delay->clone(), delay->clone(), delay->clone(), nullptr);
+
+ auto sequence = Sequence::create(moveBy, delay, scaleBy, delaySequence, nullptr);
+
+ newSprite2->runAction(sequence);
+
+ newSprite2->runAction(sequence->reverse());
+ });
+
+ auto menu = Menu::create(menuItem1, menuItem2, menuItem3, menuItem4, menuItem5,
+ menuItem6, menuItem7, menuItem8, menuItem9, menuItem10,
+ menuItem11, NULL);
+ menu->setName("menu");
+ menuNode->addChild(menu, 1);
+ menu->setPosition(Vec2::ZERO);
+
+ scene->addChild(menuNode, 2);
+
+ // return the scene
+ return scene;
+}
diff --git a/src/chapter4/Chapter4.h b/src/chapter4/Chapter4.h
new file mode 100644
index 0000000..bf0f972
--- /dev/null
+++ b/src/chapter4/Chapter4.h
@@ -0,0 +1,16 @@
+#ifndef __CHAPTER4_H__
+#define __CHAPTER4_H__
+
+#include "cocos2d.h"
+
+#include
+
+USING_NS_CC;
+
+class Chapter4 : public Ref
+{
+ public:
+ static cocos2d::Scene* createScene();
+};
+
+#endif // __CHAPTER4_H__
diff --git a/src/chapter5/AppDelegate.cpp b/src/chapter5/AppDelegate.cpp
new file mode 100644
index 0000000..3b05649
--- /dev/null
+++ b/src/chapter5/AppDelegate.cpp
@@ -0,0 +1,63 @@
+#include "AppDelegate.h"
+#include "Chapter5.h"
+
+USING_NS_CC;
+
+AppDelegate::AppDelegate() {
+
+}
+
+AppDelegate::~AppDelegate()
+{
+}
+
+//if you want a different context,just modify the value of glContextAttrs
+//it will takes effect on all platforms
+void AppDelegate::initGLContextAttrs()
+{
+ //set OpenGL context attributions,now can only set six attributions:
+ //red,green,blue,alpha,depth,stencil
+ GLContextAttrs glContextAttrs = {8, 8, 8, 8, 24, 8};
+
+ GLView::setGLContextAttrs(glContextAttrs);
+}
+
+bool AppDelegate::applicationDidFinishLaunching() {
+ // initialize director
+ auto director = Director::getInstance();
+ auto glview = director->getOpenGLView();
+ if(!glview) {
+ glview = GLViewImpl::create("My Game");
+ director->setOpenGLView(glview);
+ }
+
+ // turn on display FPS
+ //director->setDisplayStats(true);
+
+ // set FPS. the default value is 1.0/60 if you don't call this
+ director->setAnimationInterval(1.0 / 60);
+
+ // create a scene. it's an autorelease object
+ auto chapter5 = Chapter5();
+
+ // run
+ director->runWithScene(chapter5.getScene1());
+
+ return true;
+}
+
+// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
+void AppDelegate::applicationDidEnterBackground() {
+ Director::getInstance()->stopAnimation();
+
+ // if you use SimpleAudioEngine, it must be pause
+ // SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
+}
+
+// this function will be called when the app is active again
+void AppDelegate::applicationWillEnterForeground() {
+ Director::getInstance()->startAnimation();
+
+ // if you use SimpleAudioEngine, it must resume here
+ // SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
+}
diff --git a/src/chapter5/AppDelegate.h b/src/chapter5/AppDelegate.h
new file mode 100644
index 0000000..625506c
--- /dev/null
+++ b/src/chapter5/AppDelegate.h
@@ -0,0 +1,40 @@
+#ifndef _APP_DELEGATE_H_
+#define _APP_DELEGATE_H_
+
+#include "cocos2d.h"
+
+/**
+@brief The cocos2d Application.
+
+The reason for implement as private inheritance is to hide some interface call by Director.
+*/
+class AppDelegate : private cocos2d::Application
+{
+public:
+ AppDelegate();
+ virtual ~AppDelegate();
+
+ virtual void initGLContextAttrs();
+
+ /**
+ @brief Implement Director and Scene init code here.
+ @return true Initialize success, app continue.
+ @return false Initialize failed, app terminate.
+ */
+ virtual bool applicationDidFinishLaunching();
+
+ /**
+ @brief The function be called when the application enter background
+ @param the pointer of the application
+ */
+ virtual void applicationDidEnterBackground();
+
+ /**
+ @brief The function be called when the application enter foreground
+ @param the pointer of the application
+ */
+ virtual void applicationWillEnterForeground();
+};
+
+#endif // _APP_DELEGATE_H_
+
diff --git a/src/chapter5/Chapter5.cpp b/src/chapter5/Chapter5.cpp
new file mode 100644
index 0000000..6a68f79
--- /dev/null
+++ b/src/chapter5/Chapter5.cpp
@@ -0,0 +1,166 @@
+#include "Chapter5.h"
+
+USING_NS_CC;
+
+Chapter5::Chapter5()
+{
+ initialize();
+}
+
+Chapter5::~Chapter5() { }
+
+void Chapter5::initialize()
+{
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // some upfront items that we need
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto dirs = Director::getInstance();
+ Size visibleSize = dirs->getVisibleSize();
+ Vec2 origin = dirs->getVisibleOrigin();
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a scene
+ // 'scene' is an autorelease object
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ scene1 = Scene::create();
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a node to hold non-sprites.
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto nodeItems = Node::create();
+ nodeItems->setName("nodeItems");
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a node to hold menu
+ // create a menu
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ auto menuNode = Node::create();
+ menuNode->setName("menuNode");
+ int index = 2;
+
+ auto thisSceneLabel = Label::createWithTTF("This Is A Scene", "Marker Felt.ttf", 32);
+ thisSceneLabel->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
+ scene1->addChild(thisSceneLabel, 1);
+
+ auto menuItem1 = MenuItemFont::create("Make A New Scene");
+ menuItem1->setFontNameObj("Marker Felt.ttf");
+ menuItem1->setFontSizeObj(32);
+ menuItem1->setName("menuItem1");
+ menuItem1->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem1->setCallback([&](cocos2d::Ref *sender) {
+
+ Director::getInstance()->replaceScene(createScene2());
+ });
+
+ auto menu = Menu::create(menuItem1, NULL);
+ menu->setName("menu");
+ menuNode->addChild(menu, 1);
+ menu->setPosition(Vec2::ZERO);
+
+ scene1->addChild(menuNode, 2);
+}
+
+Scene* Chapter5::createScene2()
+{
+ auto dirs = Director::getInstance();
+ Size visibleSize = dirs->getVisibleSize();
+ Vec2 origin = dirs->getVisibleOrigin();
+
+ scene2 = Scene::create();
+ scene2->retain();
+
+ auto nodeItems = Node::create();
+ nodeItems->setName("nodeItems");
+
+ auto menuNode = Node::create();
+ menuNode->setName("menuNode");
+ int index = 2;
+
+ auto thisSceneLabel = Label::createWithTTF("This Is A New Scene", "Marker Felt.ttf", 32);
+ thisSceneLabel->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
+ scene2->addChild(thisSceneLabel, 1);
+
+ auto menuItem1 = MenuItemFont::create("Make a New Scene Using a Transition Fade");
+ menuItem1->setFontNameObj("Marker Felt.ttf");
+ menuItem1->setFontSizeObj(32);
+ menuItem1->setName("menuItem1");
+ menuItem1->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem1->setCallback([&](cocos2d::Ref *sender) {
+
+ Director::getInstance()->replaceScene(TransitionFade::create(0.5, createScene3(), Color3B(0,255,255)));
+ });
+
+ auto menu = Menu::create(menuItem1, NULL);
+ menu->setName("menu");
+ menuNode->addChild(menu, 1);
+ menu->setPosition(Vec2::ZERO);
+
+ scene2->addChild(menuNode, 2);
+
+ return scene2;
+}
+
+Scene* Chapter5::createScene3()
+{
+ auto dirs = Director::getInstance();
+ Size visibleSize = dirs->getVisibleSize();
+ Vec2 origin = dirs->getVisibleOrigin();
+
+ scene3 = Scene::create();
+ scene3->retain();
+
+ auto nodeItems = Node::create();
+ nodeItems->setName("nodeItems");
+
+ auto menuNode = Node::create();
+ menuNode->setName("menuNode");
+ int index = 2;
+
+ auto thisSceneLabel = Label::createWithTTF("This Scene used a Transition!", "Marker Felt.ttf", 32);
+ thisSceneLabel->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
+ scene3->addChild(thisSceneLabel, 1);
+
+ auto menuItem1 = MenuItemFont::create("Make a New Scene Using a Flip");
+ menuItem1->setFontNameObj("Marker Felt.ttf");
+ menuItem1->setFontSizeObj(32);
+ menuItem1->setName("menuItem1");
+ menuItem1->setPosition(Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height/2).x,
+ (Vec2(origin.x+visibleSize.width/2, origin.y+visibleSize.height).y - (index) * 40));
+ menuItem1->setCallback([&](cocos2d::Ref *sender) {
+
+ Director::getInstance()->replaceScene(TransitionFlipX::create(2, createScene4()));
+ });
+
+ auto menu = Menu::create(menuItem1, NULL);
+ menu->setName("menu");
+ menuNode->addChild(menu, 1);
+ menu->setPosition(Vec2::ZERO);
+
+ scene3->addChild(menuNode, 2);
+
+ return scene3;
+}
+
+Scene* Chapter5::createScene4()
+{
+ auto dirs = Director::getInstance();
+ Size visibleSize = dirs->getVisibleSize();
+ Vec2 origin = dirs->getVisibleOrigin();
+
+ scene4 = Scene::create();
+ scene4->retain();
+
+ auto nodeItems = Node::create();
+ nodeItems->setName("nodeItems");
+
+ auto menuNode = Node::create();
+ menuNode->setName("menuNode");
+
+ auto thisSceneLabel = Label::createWithTTF("This Scene used a Flip!", "Marker Felt.ttf", 32);
+ thisSceneLabel->setPosition(Vec2(visibleSize.width/2, visibleSize.height/2));
+ scene4->addChild(thisSceneLabel, 1);
+
+ return scene4;
+}
diff --git a/src/chapter5/Chapter5.h b/src/chapter5/Chapter5.h
new file mode 100644
index 0000000..d59edba
--- /dev/null
+++ b/src/chapter5/Chapter5.h
@@ -0,0 +1,29 @@
+#ifndef __CHAPTER5_H__
+#define __CHAPTER5_H__
+
+#include "cocos2d.h"
+
+USING_NS_CC;
+
+class Chapter5 : public Ref
+{
+ public:
+ Chapter5();
+ ~Chapter5();
+
+ void initialize();
+ Scene* createScene2();
+ Scene* createScene3();
+ Scene* createScene4();
+
+ inline Scene* getScene1(){ return scene1; };
+
+ protected:
+ Scene* scene1;
+ Scene* scene2;
+ Scene* scene3;
+ Scene* scene4;
+
+};
+
+#endif // __CHAPTER5_H__
diff --git a/src/chapter6/AppDelegate.cpp b/src/chapter6/AppDelegate.cpp
new file mode 100644
index 0000000..d26611f
--- /dev/null
+++ b/src/chapter6/AppDelegate.cpp
@@ -0,0 +1,63 @@
+#include "AppDelegate.h"
+#include "Chapter6.h"
+
+USING_NS_CC;
+
+AppDelegate::AppDelegate() {
+
+}
+
+AppDelegate::~AppDelegate()
+{
+}
+
+//if you want a different context,just modify the value of glContextAttrs
+//it will takes effect on all platforms
+void AppDelegate::initGLContextAttrs()
+{
+ //set OpenGL context attributions,now can only set six attributions:
+ //red,green,blue,alpha,depth,stencil
+ GLContextAttrs glContextAttrs = {8, 8, 8, 8, 24, 8};
+
+ GLView::setGLContextAttrs(glContextAttrs);
+}
+
+bool AppDelegate::applicationDidFinishLaunching() {
+ // initialize director
+ auto director = Director::getInstance();
+ auto glview = director->getOpenGLView();
+ if(!glview) {
+ glview = GLViewImpl::create("My Game");
+ director->setOpenGLView(glview);
+ }
+
+ // turn on display FPS
+ //director->setDisplayStats(true);
+
+ // set FPS. the default value is 1.0/60 if you don't call this
+ director->setAnimationInterval(1.0 / 60);
+
+ // create a scene. it's an autorelease object
+ auto scene = Chapter6::createScene();
+
+ // run
+ director->runWithScene(scene);
+
+ return true;
+}
+
+// This function will be called when the app is inactive. When comes a phone call,it's be invoked too
+void AppDelegate::applicationDidEnterBackground() {
+ Director::getInstance()->stopAnimation();
+
+ // if you use SimpleAudioEngine, it must be pause
+ // SimpleAudioEngine::getInstance()->pauseBackgroundMusic();
+}
+
+// this function will be called when the app is active again
+void AppDelegate::applicationWillEnterForeground() {
+ Director::getInstance()->startAnimation();
+
+ // if you use SimpleAudioEngine, it must resume here
+ // SimpleAudioEngine::getInstance()->resumeBackgroundMusic();
+}
diff --git a/src/chapter6/AppDelegate.h b/src/chapter6/AppDelegate.h
new file mode 100644
index 0000000..15e3773
--- /dev/null
+++ b/src/chapter6/AppDelegate.h
@@ -0,0 +1,40 @@
+#ifndef _CHAPTER6_DELEGATE_H_
+#define _CHAPTER6_DELEGATE_H_
+
+#include "cocos2d.h"
+
+/**
+@brief The cocos2d Application.
+
+The reason for implement as private inheritance is to hide some interface call by Director.
+*/
+class AppDelegate : private cocos2d::Application
+{
+public:
+ AppDelegate();
+ virtual ~AppDelegate();
+
+ virtual void initGLContextAttrs();
+
+ /**
+ @brief Implement Director and Scene init code here.
+ @return true Initialize success, app continue.
+ @return false Initialize failed, app terminate.
+ */
+ virtual bool applicationDidFinishLaunching();
+
+ /**
+ @brief The function be called when the application enter background
+ @param the pointer of the application
+ */
+ virtual void applicationDidEnterBackground();
+
+ /**
+ @brief The function be called when the application enter foreground
+ @param the pointer of the application
+ */
+ virtual void applicationWillEnterForeground();
+};
+
+#endif // _CHAPTER6_DELEGATE_H_
+
diff --git a/src/chapter6/Chapter6.cpp b/src/chapter6/Chapter6.cpp
new file mode 100644
index 0000000..dc5b0b2
--- /dev/null
+++ b/src/chapter6/Chapter6.cpp
@@ -0,0 +1,433 @@
+#include "Chapter6.h"
+
+
+USING_NS_CC;
+
+//==========================================================================
+#define CL(__className__) [](){ return __className__::create();}
+static Size s_visibleSize;
+static Vec2 s_origin;
+static Vec2 s_centre;
+static Scene* s_currScene;
+
+
+namespace
+{
+ static std::function createFunctions[] = {
+ CL(UIDemoLabel),
+ CL(UIDemoLabelEffect),
+ CL(UIDemoLabelTypesetting),
+ CL(UIDemoMenu),
+ CL(UIDemoTextField),
+ CL(UIDemoControlExtensions),
+ CL(UIDemoEditBox),
+ CL(UIDemoScrollView),
+ CL(UIDemoTableView),
+ };
+
+ static int sceneIdx = -1;
+
+#define MAX_LAYER (sizeof(createFunctions) / sizeof(createFunctions[0]))
+
+ static Layer* next()
+ {
+ sceneIdx++;
+ sceneIdx = sceneIdx % MAX_LAYER;
+
+ auto layer = (createFunctions[sceneIdx])();
+ return layer;
+ }
+
+ static Layer* back()
+ {
+ sceneIdx--;
+ int total = MAX_LAYER;
+ if( sceneIdx < 0 )
+ sceneIdx += total;
+
+ auto layer = (createFunctions[sceneIdx])();
+ return layer;
+ }
+
+ static Layer* restart()
+ {
+ auto layer = (createFunctions[sceneIdx])();
+ return layer;
+ }
+}
+
+Scene* Chapter6::createScene()
+{
+ sceneIdx = -1;
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // some upfront items that we need
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ s_visibleSize = Director::getInstance()->getVisibleSize();
+ s_origin = Director::getInstance()->getVisibleOrigin();
+ s_centre = s_origin + s_visibleSize / 2;
+
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ // create a scene with physics world for our game to hold everything
+ // 'scene' is an autorelease object
+ // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ s_currScene = Scene::create();
+
+ s_currScene->addChild(next());
+
+ // return the scene
+ return s_currScene;
+}
+
+bool UIDemo::init()
+{
+ if (Layer::init())
+ {
+ //create title
+ TTFConfig ttfConfig("arial.ttf", 32);
+ auto titleLabel = Label::createWithTTF(ttfConfig,"UI Chapter Samples");
+ addChild(titleLabel, 9999);
+ titleLabel->setPosition(Vec2(s_origin.x + s_visibleSize.width/2, s_origin.y + s_visibleSize.height - 30));
+
+ //create subtitle
+ std::string strSubtitle = subtitle();
+ if( ! strSubtitle.empty() )
+ {
+ ttfConfig.fontSize = 20;
+ auto subTitleLabel = Label::createWithTTF(ttfConfig, strSubtitle.c_str());
+ addChild(subTitleLabel, 9999);
+ subTitleLabel->setPosition(Vec2(s_origin.x + s_visibleSize.width/2, s_origin.y + s_visibleSize.height - 70));
+ }
+
+ //create menu
+ auto backItem = MenuItemImage::create("leftNormal.png", "leftSelected.png", CC_CALLBACK_1(UIDemo::backCallback, this) );
+ auto restartItem = MenuItemImage::create("restartNormal.png", "restartSelected.png", CC_CALLBACK_1(UIDemo::restartCallback, this) );
+ auto nextItem = MenuItemImage::create("rightNormal.png", "rightSelected.png", CC_CALLBACK_1(UIDemo::nextCallback, this) );
+
+ auto menu = Menu::create(backItem, restartItem, nextItem, nullptr);
+ menu->setPosition(Vec2::ZERO);
+ addChild(menu, 9999);
+
+ auto restartItemSize = restartItem->getContentSize();
+ backItem->setPosition(s_centre.x - restartItemSize.width * 2, s_origin.y + restartItemSize.height / 2);
+ restartItem->setPosition(s_centre.x, s_origin.y + restartItemSize.height / 2);
+ nextItem->setPosition(s_centre.x + restartItemSize.width * 2, s_origin.y + restartItemSize.height/2);
+
+
+ return true;
+ }
+
+ return false;
+}
+
+void UIDemo::restartCallback(Ref* sender)
+{
+ s_currScene = Scene::create();
+ s_currScene->addChild( restart() );
+ Director::getInstance()->replaceScene(s_currScene);
+}
+
+void UIDemo::nextCallback(Ref* sender)
+{
+ s_currScene = Scene::create();
+ s_currScene->addChild( next() );
+ Director::getInstance()->replaceScene(s_currScene);
+}
+
+void UIDemo::backCallback(Ref* sender)
+{
+ s_currScene = Scene::create();
+ s_currScene->addChild( back() );
+ Director::getInstance()->replaceScene(s_currScene);
+}
+
+//=====================================================================================
+// MARK: - UIDemoLabel
+std::string UIDemoLabel::subtitle() const
+{
+ return "Label Sample Code";
+}
+
+bool UIDemoLabel::init()
+{
+ if (UIDemo::init()) {
+ //create a BMFont label
+ auto bmFntLabel = Label::createWithBMFont("bitmapFontTest.fnt", "This is BMFont Label");
+ bmFntLabel->setPosition(s_centre + Vec2(-50,100));
+ this->addChild(bmFntLabel);
+
+ //create a TTF label
+ auto ttfLabel = Label::createWithTTF("This is TTF Label", "arial.ttf", 40);
+ ttfLabel->setPosition(s_centre);
+ this->addChild(ttfLabel);
+
+ //create a TTF label from TTFConfig
+ TTFConfig labelConfig;
+ labelConfig.fontFilePath = "arial.ttf";
+ labelConfig.fontSize = 20;
+ labelConfig.glyphs = GlyphCollection::DYNAMIC;
+ labelConfig.outlineSize = 0;
+ labelConfig.customGlyphs = nullptr;
+ labelConfig.distanceFieldEnabled = false;
+ auto ttfLabelFromTTFConfig = Label::createWithTTF(labelConfig, "This is TTF Label created from TTFConfig");
+ ttfLabelFromTTFConfig->setPosition(s_centre + Vec2(50, -30));
+ this->addChild(ttfLabelFromTTFConfig);
+
+ //create a label use SystemFont
+ auto systemFontLabel = Label::createWithSystemFont("This is a Label created form System Font", "Helvetical", 36);
+ systemFontLabel->setPosition(s_centre + Vec2(100,-100));
+ this->addChild(systemFontLabel);
+
+ //create a label use atlas file
+ auto atlasLabel = Label::createWithCharMap("labelatlasimg.png",24,32,'0');
+ atlasLabel->setString("12345");
+ atlasLabel->setPosition(s_centre + Vec2(0,150));
+ this->addChild(atlasLabel);
+
+
+ return true;
+ }
+
+ return true;
+}
+
+//=====================================================================================
+// MARK: - UIDemoLabelEffect
+std::string UIDemoLabelEffect::subtitle() const
+{
+ return "Label Effect Sample Code";
+}
+
+bool UIDemoLabelEffect::init()
+{
+ if (UIDemo::init()) {
+
+ //create a white ttf label with red shadow
+ auto ttfLabelWithShadow = Label::createWithTTF("Label With Shadow", "arial.ttf", 40);
+ ttfLabelWithShadow->setPosition(s_centre + Vec2(0,100));
+ ttfLabelWithShadow->enableShadow(Color4B::RED, Size(2,2));
+ this->addChild(ttfLabelWithShadow);
+
+ //create a white ttf label with yellow outline
+ auto ttfLabelWithOutline = Label::createWithTTF("Label with outline", "arial.ttf", 60);
+ ttfLabelWithOutline->setPosition(s_centre);
+ ttfLabelWithOutline->enableOutline(Color4B::YELLOW, 4);
+ this->addChild(ttfLabelWithOutline);
+
+ //create a white ttf label with green glow effect
+ auto ttfLabelWithGlow = Label::createWithTTF("Label with Glow", "arial.ttf", 40);
+ ttfLabelWithGlow->setPosition(s_centre + Vec2(0,-100));
+ ttfLabelWithGlow->enableGlow(Color4B::GREEN);
+ this->addChild(ttfLabelWithGlow);
+
+ return true;
+ }
+
+ return true;
+}
+
+//=====================================================================================
+// MARK: - UIDemoLabelTypesetting
+std::string UIDemoLabelTypesetting::subtitle() const
+{
+ return "Label Typesetting Sample Code";
+}
+
+bool UIDemoLabelTypesetting::init()
+{
+ if (UIDemo::init()) {
+ auto s = Director::getInstance()->getWinSize();
+ TTFConfig config("arial.ttf",30);
+
+ //create a label with left text alignment
+ auto ttf0 = Label::createWithTTF(config,"Alignment 0\nnew line",TextHAlignment::LEFT);
+ ttf0->setPosition(s_centre + Vec2(-100, 100));
+ this->addChild(ttf0);
+
+ //create a long sentence with line wrap
+ TTFConfig config1("arial.ttf",14);
+ auto ttf1 = Label::createWithTTF(config1,"This is a very long sentence!This is a very long sentence!This is a very long sentence!This is a very long sentence!",
+ TextHAlignment::LEFT,
+ 200);
+// ttf1->setLineBreakWithoutSpace(true); //uncomment this line to see the affects
+ ttf1->setPosition(s_centre);
+ this->addChild(ttf1);
+
+
+ //create a label with kerning
+ TTFConfig config2("arial.ttf",24);
+ auto ttf2 = Label::createWithTTF(config1,"Label with Kerning!");
+ ttf2->setPosition(s_centre + Vec2(0,-100));
+ ttf2->setTextColor(Color4B::RED);
+ ttf2->setAdditionalKerning(8.0);
+ this->addChild(ttf2);
+
+
+ return true;
+ }
+
+ return true;
+}
+
+//=====================================================================================
+// MARK: - UIDemoMenu
+std::string UIDemoMenu::subtitle() const
+{
+ return "Menu Sample Code";
+}
+
+bool UIDemoMenu::init()
+{
+ if (UIDemo::init()) {
+ //create a menu with Sprites, one menuItem which don't use lambda
+ auto menuItemSprite = MenuItemSprite::create(Sprite::create("menuItemSpriteNormal.png"),
+ Sprite::create("menuItemSpriteSelected.png"),
+ CC_CALLBACK_1(UIDemoMenu::spriteMenuItemCallback, this));
+ menuItemSprite->setPosition(s_centre + Vec2(0,100));
+
+ auto menuSprite = Menu::createWithItem(menuItemSprite);
+ //we must call menu->setPosition() here
+ menuSprite->setPosition(Vec2::ZERO);
+ this->addChild(menuSprite);
+
+ //create a menu with Labels, three menu items which use lambda
+ Vector