Bienvenue, Invité. Merci de vous connecter ou de vous inscrire. Avez-vous oublié d'activer ?

Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - kimci86

Pages: « Précédente 1 ... 4 5 [6] 7 Suivante »
76
Général / Re : Architecture d'un projet SFML
« le: Octobre 18, 2012, 07:21:58 pm »
D'ailleurs pour en revenir à l'OP, ça me paraît bien (mais bon ça ne va pas très loin dans le détail ;)), à part peut-être la nécessité d'avoir la fenêtre dans les fonctions update.

D'après mes expériences concernant le programmation de widgets, la fenêtre est utile dans les fonctions update tout particulièrement pour convertCoords.
Un exemple simple : imaginez qu'un objet ait besoin de savoir s'il est survolé par la souris. Pour avoir le bon résultat avec une View appliquée à la fenêtre, on a besoin de convertCoords.

77
Graphique / Re : Modifier sprite au pixel
« le: Juillet 26, 2012, 02:23:14 pm »
Citer
laisse le m_sprite blanc sans le pixel rouge (mais de bonne taille au mois)

Un sprite blanc ? C'est pas normal, c'est noir par défaut.
Vérifie que tu appelles bien window.display().

78
Le but est des transformer un Drawable existant en Widget tout en gardant l'interface de base.
Drawer<sf::Sprite> sprite;
sprite.setTexture(texture);
sprite.move(x, y);

L’intérêt d'en faire un Widget est de pouvoir l'ajouter à un conteneur de pointeurs sur Widget.
Group<Widget> gui;
gui.push_back(&sprite);
/*...*/
gui.draw(target) // dessine le sprite et les autres widgets
/*...*/
gui.update(); // update des widgets, ne fait rien au sprite

Je suis amené à faire ça dans mon projet de bibliothèque de GUI (voir ce sujet). Je suis en train de faire de gros changements avec des classes templates pour me permettre de faire une classe RadioGroup qui dériverait de Layout<CheckBox>.

79
Citer
T'es sûr que tu ne peux pas faire moins compliqué que ça ?
Je trouve plutôt que c'est simple... Qu'est-ce qui vous semble tordu ?

Citer
une solution à base de composition
Je trouve dommage de rajouter des couches et des couches, en particulier pour ce qui concerne sf::Transformable. C'est tellement plus simple avec l'héritage...

80
Bonjour,

Considérez les classes suivantes :
class Updatable
{
    protected:
        virtual void update() = 0;
};

class Widget : public virtual sf::Drawable, public virtual sf::Transformable, public virtual Updatable
{};

template <typename T>
class Drawer : public Widget, public T
{
    private:
        virtual void update() { /* rien a mettre a jour */ }
};

La classe Drawer permet de transformer un Drawable existant en Widget. Cela peut servir si on veut regrouper des objets dans un conteneur de Widgets.
Cependant, ce code ne compile pas :
Drawer<sf::Sprite> sprite;
En effet, la methode draw de Widget n'est pas définie, et Sprite n'hérite pas de Drawable virtuellement.

En revanche, avec cette classe, ça marche:
class MySprite : public virtual sf::Drawable, public virtual sf::Transformable
{
    private:
        virtual void draw(sf::RenderTarget& target, sf::RenderStates states) const
        {
            /* dessin */
        }
};
C'est grâce à l'héritage virtuel.

Ma requête est donc la suivante:
Je voudrais que toutes les classes de la SFML qui héritent de Drawable et/ou Transformable le fasse virtuellement.
J'attends vos commentaires.
Cordialement.

81
Fenêtrage / Re : Bug: trop de Event::Resized sous linux
« le: Juillet 11, 2012, 02:13:20 pm »
Le problème vient donc de l'utilisation de l'événement ConfigureNotify.
Est-ce que l'événement ResizeRequest n'est pas celui qu'il faut, tout simplement ? (je n'ai pas d’expérience avec Xlib)

82
Fenêtrage / Bug: trop de Event::Resized sous linux
« le: Juillet 08, 2012, 02:23:14 pm »
Bonjour,
Des événements du type Event::Resized sont générés à la création d'une fenêtre et lorsqu'on la déplace sous linux.
J'ai ce problème avec linux mint 13.
Je fais ce sujet pour savoir si d'autres ont le même problème.

83
Site web SFML / Re : Nouveau forum
« le: Juillet 04, 2012, 05:17:31 pm »
Les lignes sous les pseudos (Newbie, Full Member, ...) ne sont pas traduites.

84
Général / Re : Demande d'infos : sfml 1.6-2.0, ATI et solutions
« le: Juillet 04, 2012, 12:22:42 pm »
Quelles sont donc les raisons de telles limitations ?

85
Général / Re : Demande d'infos : sfml 1.6-2.0, ATI et solutions
« le: Juillet 04, 2012, 09:41:44 am »
Je pense que cette astuce peut fonctionner:

void cream::Text::draw(sf::RenderTarget& target, RenderStates states) const
{
    /* ... */
    target.draw(static_cast<const sf::Text&>(*this), states);
    /* ... */
}

86
Général / Re : Demande d'infos : sfml 1.6-2.0, ATI et solutions
« le: Juillet 03, 2012, 07:33:57 pm »
Bonjour,
La méthode draw remplace la méthode ... Draw.
Chez les Drawables, elle est protected.
Celle des RenderTarget est public.

Pour la classe personnalisée de texte, il faudrait:
void CustomText::draw(sf::RenderTarget& target, RenderStates states) const
{
    /*
    mettre en place le clipping
    */


    // on dessine l'objet en tant que sf::Text
    sf::Text::draw(target, states);

    /*
    mettre fin au clipping
    */

}

J'espère vous avoir aidé.

87
Projets SFML / Re : Kid : bibliothèque de GUI.
« le: Juin 30, 2012, 06:37:02 pm »
Bonjour,

J'ai fait une page sur github : http://kimci86.github.com/Kid/
Vous pouvez ainsi accéder à la documentation.

Ces dernier temps, j'ai ajouté une classe pour afficher une animation, j'ai amélioré la gestion des Views et j'ai fait une classe Clipper en béton.

Voilà, c'était les dernières nouvelles. :)

88
Général / Re : [segfault] Appel de RenderWindow::create()
« le: Juin 26, 2012, 04:14:12 pm »
Bonjour,

J'ai lu le sujet rapidement et il me semble qu'il y a un léger problème là :

Citer
link options:
-lsfml-graphics-d
-lsfml-window-d
-lsfml-system-d
-lsfgui
-lopengl32

compile define:
SFML_STATIC
SFGUI_STATIC

En effet, il y a les defines pour compiler en statique alors que les bibliothèques dynamiques sont liées. :o
Il faut soit enlever les defines, soit lier avec les bibliothèques statiques (contenant "-s" ).

89
Discussions générales / Re : SFML 2.0 RC
« le: Juin 26, 2012, 03:53:00 pm »
Bonjour,
J'ai trouvé une autre petite erreur chez les évènements :
Citer
SFML supporte 8 axes de joystick: X, Y, Z, R, U, V, POV X and POV Y.
http://www.sfml-dev.org/tutorials/2.0/window-events-fr.php

90
Projets SFML / Re : Kid : bibliothèque de GUI.
« le: Juin 16, 2012, 06:53:36 pm »
C'est à moi.

Pages: « Précédente 1 ... 4 5 [6] 7 Suivante »