0

我有一个节点,在某些时候作为子节点保存的精灵很少我尝试删除子向量中的最后一个,并首先添加它永远不会出现在屏幕上的问题在删除/添加操作之后我需要一些刷新功能吗?

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); 

从来不露面,为什么?

4

0 回答 0