Beispiel #1
0
// recorre la lista de disparos, si el disparo se encuentra fuera de la region
// dada por r, el disparo se elimina de la lista, sino se mueve
void ManejadorDisparos::MoverDisparos(float dt, sf::View &v){
	list<Disparo>::iterator p=disparos.begin();
	float misilx;
	sf::FloatRect r=v.GetRect();
	while(p!=disparos.end()){
		misilx=(*p).GetPosition().x;
		if(misilx<r.Left || misilx>r.Right){
			// al borrar, el iterador p se invalida, por lo que
			// debemos actualizarlo
			p=disparos.erase(p);
		}else{
			// movemos el disparo
			p->Move(p->velx*dt, 0);
			p++;
		}
	}
}
Beispiel #2
0
// Permite ajustar la capa a la vista para usar scrolling
void ParallaxLayer::SetPosition(sf::View &v){
	Sprite::SetPosition(offset_x+v.GetRect().Left, offset_y+v.GetRect().Top);	
}