以后用3.X版本。
重写以前的那个项目。首先去CC,然后,先建立Stage,建立精灵出来,给精灵加走动的动画。遇到错误,fatal
error C1083: 无法打开包括文件:“extensions/ExtensionMacros.h”: No such file or directory”。
找到了如下解决方案。
<span style="font-size:12px;">Cocos2d-x 3.0 Alpha 1开始 对目录结构进行了整合。结果有些附加项目也被在项目中被精简出去。
比如说如果你需要使用CocoStdio导出的JSON、或使用Extensions扩展库,libCocosStudio、libExtensions、libGUI都需要在你手动添加。
如果你碰到类似这样的错误“ fatal error C1083: 无法打开包括文件:“extensions/ExtensionMacros.h”: No such file or directory”。
可以采用下列的操作。
</span><span style="font-size:14px;"><strong>第一步:在项目中添加附加项目。</strong></span><span style="font-size:12px;">
A:在“解决方案资源管理器”中找到整个解决方案,右击,选择“添加”->“现有项目”。在弹出的对话框中找到“项目目录/cocos2d/cocos/editor-support/cocostudio/proj.win32/libCocoStuido”点击确定。
B:在“解决方案资源管理器”中找到整个解决方案,右击,选择“添加”->“现有项目”。在弹出的对话框中找到“项目目录/cocos2d/cocos/gui/proj.win32/libGUI”点击确定。
C:在“解决方案资源管理器”中找到整个解决方案,右击,选择“添加”->“现有项目”。在弹出的对话框中找到“项目目录/cocos2d/extensions/proj.win32/libExtensions”点击确定。
<strong>第二步:你需要在你的项目中引用这些刚导入的项目。</strong>
对你的项目右键,选择“引用...”。在弹出的属性页中点选下面的“添加新引用”。在弹出的子级对话框中勾选我们刚才刚加入的三个lib项目(如图),点击确定,这样就完成添加项目对库的引用。
<strong>第三步:为你的项目添加包含目录。</strong>
$(EngineRoot)
$(EngineRoot)cocos
$(EngineRoot)cocos\editor-support
</span>
跟2.x的代码区别如下。
在添加动画的时候
sharedSpriteFrameCache()被getInstance()替换;
3.x放弃了arrar使用vector,在我的函数里定义为Vector<SpriteFrame*>
v;添加元素为v.pushBack(frame1);
其他的基本一致。
代码如下
Animate* Player::run_action()
{
//1 添加到帧缓冲池
SpriteFrameCache* frameCache1 = SpriteFrameCache::getInstance();
frameCache1->addSpriteFramesWithFile("p.plist","p.png");
//2 循环参数
int imax1 = 19;
SpriteFrame* frame1;
Vector<SpriteFrame*> v;
//3 循环添加帧
for (int i=1; i<=imax1;i++)
{
frame1=frameCache1->getSpriteFrameByName(String::createWithFormat("%d.png",i)->getCString());
v.pushBack(frame1);
}
//4 给CCAnimation
Animation* nima1 = Animation::createWithSpriteFrames(v);
nima1->setDelayPerUnit(0.05);
nima1->setLoops(-1);
//5 给CCAnimate
Animate* action1 = Animate::create(nima1);
return action1;
}
本文转载http://m.blog.csdn.net/article/details?id=39179491