Cocos2dx 3.0 交流篇
创建项目: For(MAC)
举个样例,创建一个精灵的方式:
2、clone() 替代 copy(), 这个我用的不多。所以也就不多交代了;
3、Director的单例换成getInstance() 和 destroyInstance();
|
4、新的触摸机制,先贴一段代码给大家看看,可能是下一篇或者下下篇我会具体讲下新的触摸机制的。(嘻嘻。搞得我好像非常牛逼哄哄的样子)
5、另一些杂七杂八的东西,本人理解的不透。也就不发出来献丑了。最后将CCType.h 里的一些变动贴出来,让我们愉快的结束这篇博文。
   
Runtime Requirements
- Android 2.3 or newer
 - iOS 5.0 or newer
 - OS X 10.7 or newer
 - Windows 7 or newer
 - Linux Ubuntu 12.04 (or newer)
 - cocos2d-x v3.0rc(or newer)
 
Software Requirements
- Xcode 4.6 (for iOS or Mac)
 - gcc 4.7 for Linux or Android. For Android ndk-r9 or newer is required.
 - Visual Studio 2012 (for Windows)
 - Python 2.7.5
 
Create A New Project
$ cd cocos2d-x
$ ./setup.py
$ source ~/.bash_profile # may be ~/.bash_login or ~/.profile, depends on your environemnt
$ cocos new MyGame -p com.MyCompany.MyGame -l cpp -d ~/MyCompany
MyGame: name of your project-p com.MyCompany.MyGame: package name for android-l cpp: programming language used for the project, valid value iscppandlua-d ~/MyCompany: directory to hold your project
Folder structure of the generated project is as following:
(Note: The directory may be different when the project type is lua.)
Build And Run New Project
$ cocos run -s ~/MyCompany/MyGame -p ios
-s: directory of the new project. This could be an absolute path or a relative path.-p: which platform to run on. Options areios,android,win32,macandlinux.
(Note: You are a tmux user, you should add reattach-to-user-namespace before
 the command cocos. For more information, please refer to this
 link for more information.)
You can run cocos run --help for more detail information.
体验变化:
1、以CC开头的类从此去掉CC。如:
| 
 
1 
2 
3 
4 
5 
 | 
<code>|
 v2.1      
| v3.0    
||
 CCSprite   | Sprite   ||
 CCNode     | Node     ||
 CCDirector | Director ||
 etc...                |</code> | 
举个样例,创建一个精灵的方式:
| 
 
1 
2 
3 
4 
5 
6 
 | 
v2.0CCSprite*
 sp = CCSprite::create();v3.0auto
 sp = Sprite::create(); | 
2、clone() 替代 copy(), 这个我用的不多。所以也就不多交代了;
3、Director的单例换成getInstance() 和 destroyInstance();
| 
 
1 
2 
3 
4 
 | 
<code>|
 v2.1                         
| v3.0                       
||
 CCDirector->sharedDirector()  | Director->getInstance()     ||
 CCDirector->endDirector()     | Director->destroyInstance() ||
 etc...                                                      |</code> | 
4、新的触摸机制,先贴一段代码给大家看看,可能是下一篇或者下下篇我会具体讲下新的触摸机制的。(嘻嘻。搞得我好像非常牛逼哄哄的样子)
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
 | 
auto
 sprite = Sprite::create("file.png");...auto
 listener = EventListenerTouchOneByOne::create();listener->setSwallowTouch(true);listener->onTouchBegan    
 = [](Touch* touch, Event* event) { do_some_thing();  return
true; 
 };listener->onTouchMoved    
 = [](Touch* touch, Event* event) { do_some_thing();  };listener->onTouchEnded    
 = [](Touch* touch, Event* event) { do_some_thing();  };listener->onTouchCancelled
 = [](Touch* touch, Event* event) { do_some_thing();  };//
 The priority of the touch listener is based on the draw order of spriteEventDispatcher::getInstance()->addEventListenerWithSceneGraphPriority(listener,
 sprite);//
 Or the priority of the touch listener is a fixed valueEventDispatcher::getInstance()->addEventListenerWithFixedPriority(listener,
100);
//
 100 is a fixed value | 
5、另一些杂七杂八的东西,本人理解的不透。也就不发出来献丑了。最后将CCType.h 里的一些变动贴出来,让我们愉快的结束这篇博文。
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
 | 
<code>|
 v2.1
struct names | v3.0
struct names ||
 ccColor3B         | Color3B ||
 ccColor4B         | Color4B ||
 ccColor4F         | Color4F ||
 ccVertex2F        | Vertex2F ||
 ccVertex3F        | Vertex3F ||
 ccTex2F           | Tex2F ||
 ccPointSprite     | PointSprite ||
 ccQuad2           | Quad2 ||
 ccQuad3           | Quad3 ||
 ccV2F_C4B_T2F     | V2F_C4B_T2F ||
 ccV2F_C4F_T2F     | V2F_C4F_T2F ||
 ccV3F_C4B_T2F     | V3F_C4B_T2F ||
 ccV2F_C4B_T2F_Triangle | V2F_C4B_T2F_Triangle ||
 ccV2F_C4B_T2F_Quad | V2F_C4B_T2F_Quad ||
 ccV3F_C4B_T2F_Quad | V3F_C4B_T2F_Quad ||
 ccV2F_C4F_T2F_Quad | V2F_C4F_T2F_Quad ||
 ccBlendFunc       | BlendFunc ||
 ccT2F_Quad        | T2F_Quad ||
 ccAnimationFrameData | AnimationFrameData |</code> | 
一些全局的定义:
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
 | 
//
 in v2.1ccColor3B
 color3B = ccc3(0,
0,
0);ccc3BEqual(color3B,
 ccc3(1,
1,
1));ccColor4B
 color4B = ccc4(0,
0,
0,
0);ccColor4F
 color4F = ccc4f(0,
0,
0,
0);color4F
 = ccc4FFromccc3B(color3B);color4F
 = ccc4FFromccc4B(color4B);ccc4FEqual(color4F,
 ccc4F(1,
1,
1,
1));color4B
 = ccc4BFromccc4F(color4F);color3B
 = ccWHITE;//
 in v3.0Color3B
 color3B = Color3B(0,
0,
0);color3B.equals(Color3B(1,
1,
1));Color4B
 color4B = Color4B(0,
0,
0,
0);Color4F
 color4F = Color4F(0,
0,
0,
0);color4F
 = Color4F(color3B);color4F
 = Color4F(color4B);color4F.equals(Color4F(1,
1,
1,
1));color4B
 = Color4B(color4F);color3B
 = Color3B::WHITE; | 
继续...
| 
 
1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
 | 
<code>|
 v2.1
names    | v3.0
names ||
 ccp           | Point ||
 ccpNeg        | Point::- ||
 ccpAdd        | Point::+ ||
 ccpSub        | Point::- ||
 ccpMult       | Point::* ||
 ccpMidpoint   | Point::getMidpoint ||
 ccpDot        | Point::dot ||
 ccpCrosss     | Point::cross ||
 ccpPerp       | Point::getPerp ||
 ccpRPerp      | Point::getRPerp ||
 ccpProject    | Point::project ||
 ccpRotate     | Point::rotate ||
 ccpUnrotate   | Point::unrotate ||
 ccpLengthSQ   | Point::getLengthSq() ||
 ccpDistanceSQ | Point::getDistanceSq ||
 ccpLength     | Point::getLength ||
 ccpDistance   | Point::getDistance ||
 ccpNormalize  | Point::normalize ||
 ccpForAngle   | Point::forAngle ||
 ccpToAngle    | Point::getAngle ||
 ccpClamp      | Point::getClampPoint ||
 ccpFromSize   | Point::Point ||
 ccpCompOp     | Point::compOp ||
 ccpLerp       | Point::lerp ||
 ccpFuzzyEqual | Point::fuzzyEqual ||
 ccpCompMult   | Point::Point ||
 ccpAngleSigned | Point::getAngle ||
 ccpAngle      | Point::getAngle ||
 ccpRotateByAngle | Point::rotateByAngle ||
 ccpLineInersect | Point::isLineIntersect ||
 ccpSegmentIntersect | Point::isSegmentIntersect ||
 ccpIntersectPoint | Point::getIntersectPoint ||
 CCPointMake   | Point::Point ||
 CCSizeMake    | Size::Size ||
 CCRectMake    | Rect::Rect ||
 PointZero     | Point::ZERO ||
 SizeZero      | Size::ZERO ||
 RectZero      | Rect::ZERO ||
 TiledGrid3DAction::tile | TiledGrid3DAction::getTile ||
 TiledGrid3DAction::originalTile | TiledGrid3DAction::getOriginalTile ||
 TiledGrid3D::tile | TiledGrid3D::getTile ||
 TiledGrid3D::originalTile | TiledGrid3D::getOriginalTile ||
 Grid3DAction::vertex | Grid3DAction::getVertex ||
 Grid3DAction::originalVertex | Grid3DAction::getOriginalVertex ||
 Grid3D::vertex | Grid3D::getVertex ||
 Grid3D::originalVertex | Grid3D::getOriginalVertex ||
 Configuration::sharedConfiguration | Configuration::getInstance ||
 Configuration::purgeConfiguration | Configuration::destroyInstance() ||
 Director::sharedDirector() | Director::getInstance() ||
 FileUtils::sharedFileUtils | FileUtils::getInstance ||
 FileUtils::purgeFileUtils | FileUtils::destroyInstance ||
 EGLView::sharedOpenGLView | EGLView::getInstance ||
 ShaderCache::sharedShaderCache | ShaderCache::getInstance ||
 ShaderCache::purgeSharedShaderCache | ShaderCache::destroyInstance ||
 AnimationCache::sharedAnimationCache | AnimationCache::getInstance ||
 AnimationCache::purgeSharedAnimationCache | AnimationCache::destroyInstance ||
 SpriteFrameCache::sharedSpriteFrameCache | SpriteFrameCache::getInstance ||
 SpriteFrameCache:: purgeSharedSpriteFrameCache | SpriteFrameCache::destroyInstance ||
 NotificationCenter::sharedNotificationCenter | NotificationCenter::getInstance ||
 NotificationCenter:: purgeNotificationCenter | NotificationCenter::destroyInstance ||
 Profiler::sharedProfiler | Profiler::getInstance ||
 UserDefault::sharedUserDefault | UserDefault::getInstance ||
 UserDefault::purgeSharedUserDefault | UserDefault::destroyInstance ||
 Application::sharedApplication | Application::getInstance ||
 ccc3()        | Color3B() ||
 ccc3BEqual()  | Color3B::equals() ||
 ccc4()        | Color4B() ||
 ccc4FFromccc3B() | Color4F() ||
 ccc4f()       | Color4F() ||
 ccc4FFromccc4B() | Color4F() ||
 ccc4BFromccc4F() | Color4B() ||
 ccc4FEqual()  | Color4F::equals() ||
 ccWHITE       | Color3B::WHITE ||
 ccYELLOW      | Color3B::YELLOW ||
 ccBLUE        | Color3B::BLUE ||
 ccGREEN       | Color3B::GREEN ||
 ccRED         | Color3B::RED ||
 ccMAGENTA     | Color3B::MAGENTA ||
 ccBLACK       | Color3B::BLACK ||
 ccORANGE      | Color3B::ORANGE ||
 ccGRAY        | Color3B::GRAY ||
 kBlendFuncDisable | BlendFunc::BLEND_FUNC_DISABLE |</code> | 
                    
                


                
            
        
浙公网安备 33010602011771号