总结Cocos2d-x 3.x版本的一些变化
发布时间:2020-12-14 20:41:21 所属栏目:百科 来源:网络整理
导读:【唠叨】 本节摘自: (1)v3.0 发布说明: https://github.com/fusijie/Cocos2d-x3.0-Release-Note/blob/master/cocos2d-x_v3.0_release_notes.md (2)C++11 新特性 : http://www.jb51.cc/article/p-qmdcjoko-sw.html 【v3.0 亮点】 使用 C++(C++11) 的特
7
|
//v2.x
CCSprite*pSprite=CCSprite::create(
"HelloWorld.png"
);
//v3.x
auto
pSprite=Sprite::create(
);
(3)decltype
|
x=3;
decltype
(x)y=x;
(4)override
|
struct
B{
virtual
f();
g()
const
;
k();
//notvirtual
};
D:B{
f()override;
//OK:overridesB::f()
g()override;
//error:wrongtype
k()override;
//error:B::k()isnotvirtual
};
(5)final |
f()
final;
//donotoverride
g();
};
;
//error:D::fattemptstooverridefinalB::f
g();
//OK
};
(6)序列for循环
|
map<string,
>m{{
"a"
,1},{
"b"
"c"
|
closeItem=MenuItemImage::create(
"CloseNormal.png"
"CloseSelected.png"
{
Director::getInstance()->end();
//直接在这里添加按钮要调用的代码
});
1.2、std::function 与 std::bind
|
std::function<
std::vector<Touch*>&,Event*)>onTouchesBegan;
//newcallbacksbasedonC++11
#defineCC_CALLBACK_0(__selector__,__target__,...)std::bind(&__selector__,##__VA_ARGS__)
#defineCC_CALLBACK_1(__selector__,std::placeholders::_1,##__VA_ARGS__)
#defineCC_CALLBACK_2(__selector__,std::placeholders::_2,##__VA_ARGS__)
#defineCC_CALLBACK_3(__selector__,std::placeholders::_3,##__VA_ARGS__)
MenuItem 示例:
|
//v2.1版本
CCMenuItemLabel*item=CCMenuItemLabel::create(label,
this
//v3.0版本(短版本)
item=MenuItemLabel::create(label,CC_CALLBACK_1(MyClass::callback,monospace!important; font-size:1em!important; min-height:inherit!important; background:none!important">));
//v3.0版本(长版本)
//v3.0中你也可以使用lambda表达式或者其他函数对象
//dosomething.Item"sender"clicked
});
1.3、强类型枚举
|
//
//v2.1
virtualfloatgetScale();
//v3.0
virtualfloatgetScale()
const
;
2.6、POD 类型
//v2.1
setTexParameters(ccTexParams*texParams);
//v3.0
setTexParameters(
ccTexParams&texParams);
3、新的渲染器
16
17
18
19
20
21
22
23
24
25
26
//inv2.1
ccColor3Bcolor3B=ccc3(
0
);
ccc3BEqual(color3B,ccc3(
1
));
ccColor4Bcolor4B=ccc4(
);
ccColor4Fcolor4F=ccc4f(
);
color4F=ccc4FFromccc3B(color3B);
color4F=ccc4FFromccc4B(color4B);
ccc4FEqual(color4F,ccc4F(
));
color4B=ccc4BFromccc4F(color4F);
color3B=ccWHITE;
//inv3.0
Color3Bcolor3B=Color3B(
);
color3B.equals(Color3B(
));
Color4Bcolor4B=Color4B(
);
Color4Fcolor4F=Color4F(
);
color4F=Color4F(color3B);
color4F=Color4F(color4B);
color4F.equals(Color4F(
));
color4B=Color4B(color4F);
color3B=Color3B::WHITE;
7.2、弃用的函数和全局变量
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!