【发布时间】:2014-05-04 15:11:56
【问题描述】:
我现在正在尝试使用 CCSprite 在舞台上展示精灵。
角色类是继承CCSprite的类。
我写的代码如下:
bool HellowWorld::init()方法:
bool HelloWorld::init()
{
int Indexes[9] = {5,11,15,16,17,19,20,21,25};
int x;
int y;
CCArray *filename = new CCArray();
filename->addObject(new CCString("1-1.png"));
filename->addObject(new CCString("2-1.png"));
filename->addObject(new CCString("1-2.png"));
filename->addObject(new CCString("2-3.png"));
filename->addObject(new CCString("2-3.png"));
filename->addObject(new CCString("1-2.png"));
filename->addObject(new CCString("2-3.png"));
filename->addObject(new CCString("1-1.png"));
filename->addObject(new CCString("1-1.png"));
for(int i=0;i<9;i++){
const char *MyImage = ((CCString*)filename->objectAtIndex(i))->getCString();
characters *chara = (characters*)CCSprite::create(MyImage);
x = Indexes[i]%HORIZONTAL_AXIS;
y = Indexes[i]/HORIZONTAL_AXIS;
CCPoint point = ccp(MARGIN_WIDTH + PIPE_WIDTH * x,MARGIN_HEIGHT + PIPE_HEIGHT * y);
chara->setPosition(point);
this->addChild(chara,1);
}
但是,我收到以下错误消息:
libc++abi.dylib: terminating with uncaught exception of type std::length_error: basic_string::_S_create
我应该如何解决这个问题?
【问题讨论】:
-
感谢您的评论。如果我不投,错误显示如下。 「无法使用 'cocos2d::CCSprite * 类型的右值初始化 'Characters *' 类型的变量」
-
那是因为你正在创建一个精灵,而不是一个角色实例