Ejemplo n.º 1
0
Cluster::Cluster()
{
	setBumpObjectType(BumpCluster);
	setFrozen(true);
	setCollisions(false);
	reset();
}
Ejemplo n.º 2
0
Player::Player(sf::Vector2f position,sf::RenderWindow* app) : Object(app)//custom constructor for the Player. 
{
	this->position= position;
	velocity.x = 0;
	velocity.y = 0;
	setSpriteImage("images/Player.png");
	collideFloor = false;
	sprite.SetPosition(position);
	prevPosition = position;
	Object::objectInitialise(position);
	setCollisions();
	updateBoxes();
	exitHit=false;
	playerHealth=10;
	superJump=false;
}
Ejemplo n.º 3
0
//RETURNS TRUE IF THE PLAYER HAS COLLIDED WITH A BLOCK
bool Player::collidesWithBlock(Block* block)
{
	if( playerBoundingBoxTop.Intersects( block->getBoundingBox()))
	{
		if(block->returnblockType() == NORMAL_BLOCK)
		{
			position.y = prevPosition.y;
			sprite.SetPosition(position);
			setCollisions();
		}
		if(block->returnblockType() == UP_BLOCK)
		{
			position.y -= 80;
			//position.y = prevPosition.y;
			sprite.SetPosition(position);
			//system("pause");
			setCollisions();
		}
	}

	if ( playerBoundingBoxBottom.Intersects(block->getBoundingBox()))
	{
		collideFloor = true;
	
       if(block->returnblockType() == NORMAL_BLOCK || block->returnblockType() == UP_BLOCK )
		{
		velocity.y = 0;
		position.y = prevPosition.y;
		sprite.SetPosition(position);

		}
	else if(block->returnblockType() == DOWN_BLOCK)// CHECKING BLOCK TYPE 
		{
	
			position.y += 80;
			
			sprite.SetPosition(position);
			
			setCollisions();
		}
	}

	if ( playerBoundingBoxLeft.Intersects(block->getBoundingBox()))
	{
		leftBoxCollide = true;
	}

	if( playerBoundingBoxRight.Intersects(block->getBoundingBox()))
	{
		rightBoxCollide = true;
	}
	

	if ( rightBoxCollide == true)
	{

		position.x = prevPosition.x;
		velocity.x = 0;
	
	}

	if ( leftBoxCollide == true)
	{
		position.x = prevPosition.x;
		velocity.x = 0;
		
	}

	if(topBoxCollide || bottomBoxCollide || leftBoxCollide || rightBoxCollide)
	{
		return true;
	}
	else 
	{
		return false;
	}
}