我有一些节点可以将少数精灵作为孩子 在某些时候,我尝试删除子向量中的最后一个并添加为第一个 它永远不会出现在屏幕上的问题 删除/添加操作后我需要一些刷新功能吗?
pButtomReel = Node::create();
pButtomReel->addChild(sprite1);
pButtomReel->addChild(sprite2)
pButtomReel->addChild(sprite3)
pButtomReel->addChild(sprite4)
// every thing is renders right on the screen
// now i try to remove and add sprites
Sprite *spriteLastToHandle = static_cast<Sprite*>(pButtomReel->getChildren().at(pButtomReel->getChildren().size()-1));
Sprite *spriteFirstToHandle = static_cast<Sprite*>(pButtomReel->getChildren().at(0));
float YFirst = spriteFirstToHandle->getPositionY();
float XFirst = spriteFirstToHandle->getPositionX();
float YLast = spriteLastToHandle->getPositionY();
float XLast = spriteLastToHandle->getPositionX();
spriteFirstToHandle->setPosition(XLast,YLast);
int s1 = pButtomReel->getChildren().size(); //SHOWS RIGHT 4
pButtomReel->getChildren().erase(0);
int s2 = pButtomReel->getChildren().size(); //SHOWS RIGHT 3
pButtomReel->getChildren().insert(0,spriteLastToHandle);
int s3 = pButtomReel->getChildren().size(); //SHOWS RIGHT 4 all looks fine
但我添加的精灵:
pButtomReel->getChildren().insert(0,spriteLastToHandle);
永远不会出现 为什么?