void Player::scheduleShoot(){
//establecemos que la nave disparara cada medio segundo
DelayTime *delayAction = DelayTime::create(0.5f);
// cramos una accion a partir de una funcion
CallFunc *callSelectorAction = CallFunc::create(CC_CALLBACK_0(Player::shoot, this));
//creamos una secuencia que primero espera y luego dispara
auto shootSequence = Sequence::create(delayAction, callSelectorAction, NULL);
// envolvemos la secuencia un una accion RepeatForever
runAction(RepeatForever::create(shootSequence));
}
void Player::shoot(){
_bulletIndex = _bulletIndex % _numBullets;
auto bullet = _bulletPool.at(_bulletIndex);
bullet->setAnchorPoint(Point(0.5, 0));
if (!bullet->isVisible()){
bullet->setPosition(getPositionX(),getPositionY()+getBoundingBox().size.height*0.5);
bullet->setVisible(true);
}
_bulletIndex++;
}