我正在开发一个关于cocos2d-x-2.1.4的游戏,然而,当我尝试在Android上构建它时,它失败并出现错误:格式不是字符串文字而且没有格式参数[-Werror = format-security] on文件CCCommon.cpp
但是,当我检查进攻线时,它完全没问题.当我使用Visual Studio和XCode为WIN32和iOS构建时,该文件也构建得很好并且总是很好.
错误日志如下:
C:/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android/../../..//cocos2dx/platform/android/CCCommon.cpp: In function 'void cocos2d::CCLog(char const*, ...)':
/cygdrive/c/eclipse/android-ndk-r9/build/core/build-binary.mk:348: recipe for target `obj/local/armeabi/objs/cocos2dx_static/platform/android/CCCommon.o' failed
C:/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android/../../..//cocos2dx/platform/android/CCCommon.cpp:44:72: error: format not a string literal and no format arguments [-Werror=format-security]
C:/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android/../../..//cocos2dx/platform/android/CCCommon.cpp: In function 'void cocos2d::CCLuaLog(char const*)':
make: Leaving directory `/cygdrive/c/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android'
C:/Development/External/cocos2d-2.1rc0-x-2.1.3/projects/Game_C2DX213/proj.android/../../..//cocos2dx/platform/android/CCCommon.cpp:54:77: error: format not a string literal and no format arguments [-Werror=format-security]
cc1plus.exe: some warnings being treated as errors
我正在网上和文档阅读,但说实话,我不明白.由于我是cocos2d-x的新手,我想更好地理解如何创建/保留对象以及我应该做些什么来释放它们(如果需要).令我困惑的是使用我不太清楚的智能指针.
想象一下,在我的CCLayer中(添加到CCScene中)我添加了一个CCSprite,所以我这样做:
this->sprite = CCSprite::create("mySprite.png");
this->addChild(sprite);
既然我已经使用了create()我应该在某个地方发布它?在CCLayer的析构函数中可能吗?或者我与此无关?
我知道C++的基础知识,所以如果我做一个"新"对象,我实际上必须在析构函数中删除它,或者当我不再需要它时,但是cocos2dx对象怎么样?
我是从macOSX xcode4.5开始的.
我试过教程.
使用cocos2dx,它完成了macOSX的构建,
 
问题发生在android源码中.
没有描述cocos2dxActivity的内容.
所以,org.cocos2dx.lib不是其他文件.
android没有运行.
我用ndk-r8.会有什么问题?
我使用cocos2d-x开发游戏,在iOs中运行完美后,我转向Android平台.
但它在android中运行,我只收到一些错误日志:
08-26 10:49:23.823: A/libc(2884): Fatal signal 11 (SIGSEGV) at 0x0000000c (code=1), thread 2917 (Thread-285)
有了这个,我无法修复崩溃日志.
所以我的问题是如何检查崩溃日志的堆栈?
在SO中,有一些类似的问题,但对我没有任何有用的答案.
我正在尝试绘制具有一定厚度的三次贝塞尔曲线路径,但曲线看起来像一系列断开的线段(在我的情况下为3).这是一个截图(蓝色圆圈是曲线的控制点).

我注意到在cocos2d-x测试中的'draw primitives'中也会出现相同的效果.无论如何,我很确定应该有一个解决方法,但我自己找不到它.此外,该行受到别名效果的影响,我不知道如何应用alpha阴影来避免它.
这是我使用的代码:
glLineWidth(24.0f);
Vec2 cp1 = Vec2(200, 200);
Vec2 cp2 = Vec2(1300, 150);
Vec2 cp3 = Vec2(170, 1200);
Vec2 cp4 = Vec2(1400, 1000);
//Draw control points
DrawPrimitives::setDrawColor4B(0, 0, 255, 255);
DrawPrimitives::drawSolidCircle(cp1, 50, 360, 120, 1, 1);
DrawPrimitives::drawSolidCircle(cp2, 50, 360, 120, 1, 1);
DrawPrimitives::drawSolidCircle(cp3, 50, 360, 120, 1, 1);
DrawPrimitives::drawSolidCircle(cp4, 50, 360, 120, 1, 1);
//Draw cubic red bezier curve
DrawPrimitives::setDrawColor4B(255, 0, 0, 255);
DrawPrimitives::drawCubicBezier(cp1, cp2, cp3, cp4, 50);
是否有将spritekit游戏转换为android的新选项?似乎唯一的选择是重新编写Java中的所有内容或使用Cocos2D,LibGDX等.
我有一个继承自CCSprite的对象.我希望从这个对象里面改变图像.
如何在不在Cocos2d-X中创建新的CCSprite对象的情况下更改图像(精灵)?
谢谢,阿德里安.
我从CCString中提取b2vec2坐标时遇到问题,这些坐标来自cocos2dx和box2d.
我尝试过使用strtk,但我无法使用它
任何帮助都会很棒.
谢谢
字符串的布局是"x,yx,yx,y"我想将x和y放入b2vec2的数组中
我一直在我的计算机上玩Cocos2D-X,我已经在我希望能够构建它的所有设备上构建hello world程序.
我知道如何让程序显示一个精灵,并显示一个标签,但我还没有能够让程序画一条线.如何在Cocos2D-X中画一条线?
我使用Cocos2d-x和Marmalade开发了2D游戏.
我想知道什么是"更好的解决方案",考虑到表演,记忆等,在玩游戏之前创建一个场景,我可以向用户显示类似于Candy Crush Game中使用的Map,然后:
提前谢谢了
塞尔吉奥
cocos2d-x ×10
android ×4
c++ ×3
android-ndk ×2
2d ×1
bezier ×1
box2d ×1
candy ×1
ccsprite ×1
destructor ×1
drawing ×1
extract ×1
libgdx ×1
macos ×1
map ×1
marmalade ×1
sprite-kit ×1
stack-trace ×1
string ×1