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 - Asphox

Pages: [1]
1
Discussions générales / Re: Des signaux, des slots, et SFML
« le: Juin 17, 2017, 07:47:50 pm »
Oui, ma librairie fonctionnait comme ça au debut.
Mais ce qui me derange dans cette pratique, c'est que le signal ne peut pas savoir quand l'objet à qui appartient la fonction membre passée en paramètre est detruit ... et donc il peut tres bien l'appeler alors que l'objet n'existe plus ( j'ai testé et c'est ce qu'il se passe ).
Alors que l'objet slot qu'en à lui est detruit en même temps que l'objet qui le possède, il peut donc "avertir" ( via son destructeur ) les signaux connectés à lui et forcer leur deconnection.
Ainsi les signaux n'appelent jamais un fonction membre dont l'objet est detruit.

Apres peut etre que je veux trop "securiser" le principe ... vaudrait il mieu laisser le developpeur faire attention a bien deconnecter les slots "manuelement" quand l'objet est detruit ?

2
Discussions générales / Re: Des signaux, des slots, et SFML
« le: Juin 16, 2017, 09:33:49 am »
Oui je suis d'accord que les macros sont évitées au maximum en C++11.
mais dans mon cas,  je pensais que cela simplifier pas mal les choses ( ça empêche de créer soit même l'objet slot).

Je vais quand même réfléchir pour supprimer toutes ces macros ^^

Merci pour votre retour en tout cas Laurent  :)

3
Discussions générales / Des signaux, des slots, et SFML
« le: Mai 25, 2017, 06:58:54 pm »
Bonjour à tous !

Jouant depuis un bon moment maintenant avec SFML, il m’ait venu à l'esprit d'essayer d’implémenter le pattern signal/slot à la gestion d'évenement de SFML avec ma libraire perso de signal/slot.

Pour la petite histoire ...
Cela fait un moment que j'ai découvert la puissance du pattern signa/slot avec la libraire Qt. Et j'ai eu l'idée de l'utiliser dans des projets non-reliés à Qt, j'ai donc commencé ma petite recherche de librairie reprenant le principe.
Il y évidement Boost qui integre ce systeme, mais je prefere ne l'utiliser quand dernier recours, préférant de petite libraire à un mastodonte comme Boost ( qui reste quand même une mine d'or pour le C++ ).
Je me suis donc renseigné sur de plus petites librairies, et il y en a un bon paquet ! xD
Hélàs la plupart ( et les plus récentes ) utilisent un principe de Delegate qui bien qu’extrêmement rapide, possède un problème que je trouve dérangeant : un signal n'a aucun moyen de savoir quand un objet avec un slot qui lui est connecté est detruit ...
En d'autre terme : il est parfaitement possible qu'un signal appel une fonction membre d'un objet , alors que celui si est detruit !
Retrouvant ce problème dans de nombreuses librairies de signal/slot, je me suis donc rendu à l’évidence : je devais essayer d'en coder une moi même...

La naissance de SISL
Apres de loooooong mois de sueur et d'optimisation, j'ai enfin terminé la première version de SISL ( pour SIgnal SLot ).
Une libraire que j'ai voulu rapide , facile à maintenir , relativement simple d'utilisation , standard ( C++11 ) , et surtout qui ne possède pas le même problème de "non détection de la destruction des objets" que la plupart des autres librairies de signal/slot ont.

Pour ce faire, j'ai du opter pour une solution radicale : ne pas connecter une fonction ( ou une fonction membre) directement au signal , mais passer par un objet qui encapsule la fonction de manière unique , et qui lui, pourra etre connecté à un signal ( tout en etant detruit en meme temps que l'objet contenant le slot, ainsi, il est impossible qu'un signal appel un slot relié à une fonction dont l'objet n'existe plus ).


SFML + SISL ?
Quelques développeurs et moi même avons donc commencé à utiliser SISL dans plusieurs de nos projets, et nous sommes arrivés à la même conclusion : pourquoi ne pas essayer d’intégrer SISL à SFML dans une sorte de fork ? juste pour tester ?

Ainsi, je me suis donc lancé dans l'idée de tenter cette fusion dans mon coin, voir si cela est réalisable et surtout utile.

Je me permet donc de poster cette idée sur le forum SFML, pour voir si certaines personnes seraient intéressées par un tel systeme, et surtout pour avoir des retours extérieurs sur ma librairie ( des optimisations à faire que je n'aurais pas vu ? des bugs ? des ajouts ? )

Je vous donne donc en annexe le github de sisl, ainsi que la première version de test d’intégration de SISL à SFML .
En vous remerciant d'avance pour le temps accordé à mon gros pavé ! xD

Annexes :

github sisl : https://github.com/Asphox/SISL
github SFML+SISL : https://github.com/Asphox/SFML-SISL


Update : voila j'ai terminé la premiere version et ça fonctionne ! ( avec tout les events sauf ceux en rapprot avec les joysticks )
je vous laisse check sur le github en essayant par vous même si cela vous intéresse ( il y a un petit readme pour expliquer les bases ).

Prochainement : prise en compte des events joystick ...

4
Projets SFML / Un moteur de Visual Novel !
« le: Décembre 03, 2015, 11:25:05 am »
Salut à tous !!

Je suis en train de coder un moteur de visual novel basé sur SFML et TGUI.

Le développement avance lentement mais sûrement ( pas facile d'avoir du temps avec les cours  :-\ ).

Il pourra être utilisé en tant qu’objet dans un projet déjà existant ou en standalone en tant qu'intepreteur de script ( pour ceux qui ont du mal avec le C++ ^w^ ).

Actuellement le moteur gère les animations, le texte, les événements basiques, les sons, les musiques, et un début de langage script ( que j’essaie de faire le plus simple possible même si actuellement la syntaxe est plus que "raide" xD)

je posterais bientôt une petite vidéo montrant de quoi il est capable  ;)

En vous remerciant d'avance de l’intérêt que vous portez à mon projet  ;D

Pages: [1]
anything