继续Cocos2dx3.2的学习!
一、VS里开发Cocos2dx 3.2时代码折叠。
C++不像C#那样直接#region可以折叠,很苦恼。
度娘谷歌,发现可以这样:
#pragma region name
#pragma endregion
欣喜万分!
二、获取本层所有精灵
auto sp = this->getChildren();//获取这个层中所有的孩子,也就是所有的精灵
比较完整的方法,获取本层所有精灵,并且使所有精灵向下移动:
voidSecond::myupdate(float f){//注意有一个float f 形参
auto sp = this->getChildren();//获取这个层中所有的孩子,也就是所有的精灵。
for (auto a: sp) //<span lang="zh-CN" style="font-size: 15px; line-height: 26px; font-family: SimSun;">这个类似于迭代器的遍历</span><span lang="en-US" style="font-size: 15px; line-height: 26px; font-family: SimSun;">,</span><span lang="zh-CN" style="font-size: 15px; line-height: 26px; font-family: SimSun;">你可以改成f</span><span style="font-size: 11pt; line-height: 26px; font-family: Calibri;">or(auto a= sp.begin();a!=sp.end();a++){</span><span style="font-size: 11pt; line-height: 26px; font-family: Calibri;">}</span>
{
a->setPosition(a->getPosition().x, a->getPosition().y - 2);
}
}
三、切换场景
切换场景有两个切换方式,一种是replacescene,一种是pushscene。
这两种切换方式的区别在于,前者释放了当前场景,后者把当前场景压入栈中保存。pushscene的场景要切换回来,只需在子场景中调用popscene即可。 相当于原来的场景暂停了一会。
这里有个问题,暂时记住:PopScene回来失效。
四、方法报错"没有找到重载的成员函数"时。
1.检查是否在.h中声明。
2.检查方法是否填写cocos2d::。
3.上面2,如果.h中#include "cocos2d.h"后面有USING_NS_CC,可不添加cocos2d::。