在cocos 2.0.4中将Android移植到Windows时不允许使用类型名称

时间:2014-04-30 07:09:47

标签: c++ visual-studio-2010 cocos2d-x

我使用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 :: ,但没有用..,请帮忙。

1 个答案:

答案 0 :(得分:0)

你不能像那样“动态”创建结构。而是创建一个临时对象,如

m_sprStar->setColor(Color3B(m_iColRed,m_iColGreen,m_iColBlue));

注意:传递这样的临时对象仅适用于将参数按值常量引用的函数。