Salut à tous.
Je bosse actuellement sur de l'animation en sfml, genre animer un sprite. J'ai fais quelques recherches sur le net, et je suis tombé sur ça
http://www.sfml-dev.org/wiki/fr/sources/frame_anim_animated .
L'ennui, c'est que c'est en SFML 1.6, et que je bosse avec la version 2.0. J'ai presque tout converti, sauf un petit bout de code qui me résiste, dans la class Frame.
J'essaye divers passage par référence ou pointeur, mais j'ai toujours des erreurs =/
Frame.h
#ifndef FRAME_HPP_INCLUDED
#define FRAME_HPP_INCLUDED
#include <SFML/Graphics.hpp>
// Une Frame est composée d'un pointeur sur une image, d'un SubRect et d'une couleur
// La couleur par défaut d'une Frame est le blanc.
class Frame
{
public:
// Par défaut
Frame(const sf::Color& newColor = sf::Color::White);
// Par copie
Frame(const Frame& Cpy);
// Texture et Rect
Frame(sf::Texture& newTexture, const sf::Rect<int>& newRect, const sf::Color& newColor = sf::Color::White);
// Texture (Le Rect est au dimension de l'image)
Frame(sf::Texture& newTexture, const sf::Color& newColor = sf::Color::White);
// destructeur
virtual ~Frame();
// Accès public à l'image, au Rect et à la couleur
sf::Texture& texture;
sf::Rect<int> rect;
sf::Color color;
};
#endif // FRAME_HPP_INCLUDED
Frame.cpp
#include "Frame.h"
// Par défaut
Frame::Frame(const sf::Color& newColor)
{
texture = NULL;
color = newColor;
}
// Par copie
Frame::Frame(const Frame& Cpy)
{
texture = Cpy.texture;
rect = Cpy.rect;
color = Cpy.color;
}
// Texture et Rect
Frame::Frame(sf::Texture& newTexture, const sf::Rect<int>& newRect, const sf::Color& newColor)
{
texture = newTexture;
rect = newRect;
color = newColor;
}
// Texture (Le Rect est au dimension de l'image)
Frame::Frame(sf::Texture& newTexture, const sf::Color& newColor)
{
sf::Sprite sprite(newTexture);
rect = sprite.getTextureRect();
color = newColor;
}
// destructeur
Frame::~Frame()
{
}
Merci d'avance.