예제 #1
0
void BallDispencer::DropBall()
{
	Ball* toDrop = _containedBalls.front();
	Vec2 posRelativeToDispencer = toDrop->getPosition();
	Vec2 posRelativeToWorld = this->convertToWorldSpace(posRelativeToDispencer);
	toDrop->retain();
	toDrop->removeFromParentAndCleanup(false);
	getParent()->addChild(toDrop);
	toDrop->setPosition(posRelativeToWorld);
	toDrop->release();
	toDrop->Drop();
	toDrop->setZOrder(0);
	_containedBalls.erase(_containedBalls.begin());
	//move up next balls
	for (int i = 0; i < _containedBalls.size(); i++)
	{
		_containedBalls[i]->MoveToNext(_nodes[14 - i]->getPosition(), 14 - i);
	}
	//top up
	AddBall();
}