首先,先来看下代码:
void GameEnemyBullet::setvisable()
{
this->setVisible(true); //设置精灵可见
isvisable=true;
this->runAction(CCJumpTo::create(3, CCPointMake(500, 500), 30, 5)); //让精灵执行跳跃动作
CCMessageBox("over", "over"); //弹一个小窗,只是为了验证是否执行到此
}
代码也很简单,但当我执行时,调用此方法,总是不能执行跳跃动作,但确实函数执行了,因为已经弹窗了,也出现了一个静止的精灵,但它为啥不动呢。这就让人很迷惑了,为啥runAction不执行呢?
之后,我就看了下
bool GameEnemyBullet::init()
{
CCSprite *bulletmainbody=CCSprite::create("DrDogZD.png");
bulletmainbody->runAction(CCRepeatForever::create(CCRotateBy::create(0.5, 350)));
isvisable=false;
this->setVisible(false);
addChild(bulletmainbody,1);
return true;
}
而类GameEnemyBullet是继承自CCNode的,在创建对象时,用的是create方法,也重写了onEnter方法,代码如下&#