Example #1
0
void SpriteComponent::update() 
{
	// setting position from Transform Component
	TransformComponent* transform = parent.getComponent<TransformComponent>();
 	
	sprite.setPosition(utils::mToPx(transform->getX()),
	                   utils::mToPx(transform->getY()) );

	sprite.setRotation(utils::radToDeg(transform->getRotation()) );
	
	GameManager& gameManager = GameManager::getInstance();
	gameManager.getWindow().draw(sprite);
}
Example #2
0
void SpriteComponent::setTexture(std::string textureName) 
{
	// load texture from AssetManager
	AssetManager& assetManager = AssetManager::getInstance();
	sprite.setTexture(assetManager.getTextureByName(textureName));
	//assetManager.getTextureByName(textureName).setSmooth(true);

	// set origin in the center 
	float xOrigin, yOrigin;
	sf::Vector2u size = sprite.getTexture()->getSize();
	xOrigin = size.x / 2;
	yOrigin = size.y / 2;
	sprite.setOrigin(xOrigin, yOrigin);

	// if the parent GameObject has a transform component, get the transform from it
	TransformComponent* transformComponent = parent.getComponent<TransformComponent>();
	if (transformComponent) {
		sprite.setPosition(utils::mToPx(transformComponent->getX()),
						   utils::mToPx(transformComponent->getY()) );
		sprite.setRotation(utils::radToDeg(transformComponent->getRotation()));
	}
}