Exemple #1
0
Laser::Laser(ResourceManager& a_ResMgr, cpSpace& a_Space, sf::Vector2f a_StartPos, sf::Vector2f a_FacingDir)
:	GameObject(a_ResMgr, a_Space)
,	m_pPreviousSegment(NULL)
,	m_pNextChainSegment(NULL)
,	m_StartPos(a_StartPos)
,	m_EndPos(a_StartPos)
,	m_CurLength(0)
,	m_MaxLength(MAX_LASER_DIST)
,	m_Space(a_Space)
,	m_FacingDir(a_FacingDir)
,	m_pAnimator(NULL)
,	m_endDrawn(false)
,	m_endDrawnHack(false)
,	m_won(false)
,   m_laserBlocked(false)
//,	m_catcherPositions(NULL)
{
	MyType = LASER;

	m_resMgr.CreateSprite("media/laser_middle_8x8.png", &m_Sprite);
	m_resMgr.CreateSprite("media/End_laser_32x32.png", &m_endSprite);
	m_resMgr.CreateSprite("media/laser_bounce_8x8.png", &m_reflectSprite);
	m_pAnimator = new Animator(m_endSprite, 32, 32, 3, 8, 10, 24);

	m_Sprite.sprite->setPosition(a_StartPos);
	m_Sprite.sprite->setOrigin(0,4);
	m_Sprite.sprite->setRotation(VectorToAngle(m_FacingDir));
}
Exemple #2
0
void Laser::SetFacingDir(sf::Vector2f a_NewDir)
{
	m_FacingDir = a_NewDir;
	/*
	m_resMgr.CreateSprite("media/laser_middle_8x8.png", &m_Sprite);
	m_resMgr.CreateSprite("media/End_laser_32x32.png", &m_endSprite);
	m_resMgr.CreateSprite("media/laser_bounce_8x8.png", &m_reflectSprite);
	m_pAnimator = new Animator(m_endSprite, 32, 32, 3, 8, 10, 24);

	m_Sprite.sprite->setPosition(a_StartPos);
	m_Sprite.sprite->setOrigin(0,4);
	m_Sprite.sprite->setRotation(VectorToAngle(m_FacingDir));
	*/
	m_Sprite.sprite->setRotation(VectorToAngle(m_FacingDir));
	m_endSprite.sprite->setRotation(VectorToAngle(m_FacingDir));

}
Laser::Laser(ResourceManager& a_ResMgr, cpSpace& a_Space, sf::Vector2f a_StartPos, sf::Vector2f a_FacingDir)
:	GameObject(a_ResMgr, a_Space)
,	m_pPreviousSegment(NULL)
,	m_pNextChainSegment(NULL)
,	m_StartPos(a_StartPos)
,	m_EndPos(a_StartPos)
,	m_CurLength(0)
,	m_MaxLength(MAX_LASER_DIST)
,	m_Space(a_Space)
,	m_FacingDir(a_FacingDir)
,	m_pAnimator(NULL)
,	m_endDrawn(false)
,	m_endDrawnHack(false)
,	m_won(false)
//,	m_catcherPositions(NULL)
{
	MyType = LASER;

	m_resMgr.CreateSprite("media/laser_middle_8x8.png", &m_Sprite);
	m_resMgr.CreateSprite("media/End_laser_32x32.png", &m_endSprite);
	m_resMgr.CreateSprite("media/laser_bounce_8x8.png", &m_reflectSprite);
	m_pAnimator = new Animator(m_endSprite, 32, 32, 3, 8, 10, 24);

	m_Sprite.sprite->setPosition(a_StartPos);
	m_Sprite.sprite->setOrigin(0,4);
	m_Sprite.sprite->setRotation(VectorToAngle(m_FacingDir));

	//
	
	//create the physbody
	/*
	cpFloat radius = 32;
	cpFloat mass = 1;
	cpFloat moment = cpMomentForCircle(mass, radius, 0, cpv(0,0));

	m_pBody = cpSpaceAddBody(&a_Space, cpBodyNew(mass, moment));
	m_pBody->data = this;
	cpBodySetPos(m_pBody, cpv(a_StartPos.x, a_StartPos.y));

	m_pShape = cpSpaceAddShape(&a_Space, cpCircleShapeNew(m_pBody, radius, cpv(0,0)));
	m_pShape->data = this;
	m_pShape->sensor = 1;

	cpShapeSetCollisionType(m_pShape, LASER);
	*/
}