我使用cocos 2.0.4将我的Android应用程序移植到Windows平台,因为我构建了
error: C2143: syntax error : missing ')' before '{'
但它也显示类型名称不允许:ccColor3B特定行
m_sprStar->setColor( (ccColor3B) {m_iColRed,m_iColGreen,m_iColBlue});
void HorseRunObstacle::animateCollectables()
{
if(m_sprStar==NULL)
{
// if(m_iObstacleId!=OBSTACLE_COIN)
{
m_sprStar = CCSprite::create("HorseRun_Resource/Images/starparticle.png");
m_sprStar->setPosition(m_sprObstacle->getPosition());
m_sprStar->setScale(0.5f);
if(m_iObstacleId==OBSTACLE_COIN)
m_sprStar->setColor( (ccColor3B) {m_iColRed,m_iColGreen,m_iColBlue});
m_ptrGameLayer->addChild(m_sprStar,0);
CCActionInterval* scaleUp = CCScaleTo::create(0.2f, 3.14f);
CCActionInterval* scaleDn = CCScaleTo::create(0.2f, 2.0f);
CCFiniteTimeAction* seq = CCSequence::create(scaleUp,scaleDn,NULL);
m_sprStar->runAction(seq);
}
}
我尝试过使用使用命名空间cocos2d; 以及 cocos2d :: ,但没有用..,请帮忙。
答案 0 :(得分:0)
你不能像那样“动态”创建结构。而是创建一个临时对象,如
m_sprStar->setColor(Color3B(m_iColRed,m_iColGreen,m_iColBlue));
注意:传递这样的临时对象仅适用于将参数按值或常量引用的函数。