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.


Sujets - Crone123

Pages: [1] 2 Suivante »
1
C / Documentation?
« le: Janvier 24, 2015, 02:43:56 pm »
Bonjour,
Où puis-je trouver une documentation pour CSFML équivalente a celle présente sur le site pour la SFML (C++)?
Merci d'avance :)

2
Python / Fuite de mémoire avec sf.Image
« le: Janvier 21, 2015, 02:06:23 pm »
Bonjour,
J'ai voulu faire un programme qui calcule le nombre de pixels en couleurs, et nombre de pixels en noir et blanc sur une image.

Assez simple:
Il charge une image
Il compare les valeurs r,g,b et il affiche le nombre de couleur/noir et blanc qu'il a compté.


J'utilise Python3 sur Ubuntu 14.04 LTS 64bits, avec le package suivant de PySFML:

Package: python3-sfml
Priority: optional
Section: universe/python
Installed-Size: 1073
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Games Team <pkg-games-devel@lists.alioth.debian.org>
Architecture: amd64
Source: python-sfml
Version: 1.5.1.is.1.3+dfsg-1build2
Provides: python3.4-sfml
Depends: libc6 (>= 2.14), libgcc1 (>= 1:4.1.1), libsfml-audio2 (>= 2.1), libsfml-graphics2 (>= 2.1), libsfml-network2 (>= 2.1), libsfml-system2 (>= 2.1), libsfml-window2 (>= 2.1), libstdc++6 (>= 4.1.1), python3 (>= 3.4~), python3 (<< 3.5)
Filename: pool/universe/p/python-sfml/python3-sfml_1.5.1.is.1.3+dfsg-1build2_amd64.deb
Size: 245558
MD5sum: 148b0c85f6df19774efb77e3bb4fdef0
SHA1: a48fe0b0ded426fd53e0b6b59809f9984f082e48
SHA256: 546c1f43ce23412f9ad65e9e467a79213ab870f9ee2cd1182065b4a2ed5500f8
Description-en: Simple and Fast Multimedia Library - Python 3 Bindings
 SFML is an modern multimedia library offering a wide range
 of subsystems useful to produce an multimedia application.
 It offers OpenGL integration for hardware accelerated Graphics,
 Windowing and input support, audio and network facilities and
 supports besides GNU/Linux MS Windows and Mac OS X, too.
 .
 This package contains the Python 3 bindings for SFML.
Description-md5: 403dc02a5b8bdf526afffa2f14af877e
Homepage: http://www.python-sfml.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu

(Si il existe une version + a jour que celle des dépôts, je veux bien tester, seulement le ppa du site officiel ne contient pas de version pour Ubuntu 14.04 LTS)

Mon programme commence a prendre environ 2Go de RAM, pour un petit script en console qui ne fait que charger quelques images, donc je me suis dit: Fuite de mémoire.

J'ai fait des tests et voici ce que ça donne:

Créer un sf.Image et le delete → Pas de soucis niveau ram.
Créer un sf.Color et le delete → Pas de soucis niveau ram.

En supposant que mon sf.Image s'appelle img
Si j'accède a img[0,0] ou img[(0,0)] un certain nombre de fois: Fuite de mémoire.
Je me suis dit qu'il fallait peut être supprimer le sf.Color crée, alors j'ai fait:

c = img[0,0]
del c

En boucle, et pareil, fuite de mémoire. (testé depuis le cli) (au bout de 150000 tours ou + environ, on prends des centaines de mo de RAM, alors que l'objet devrait être supprimé et ne plus consommer de ram)

Pour résumer: L'accès a img[x,y] ou img[(x,y)] me cause une fuite de mémoire, et vu que j'y accède souvent ça me prends des quantités de ram assez abominables !

Est-ce que ce bug est connu? Est-ce qu'il existe un autre moyen d'utiliser cette fonction (ou un équivalent) sans causer de fuite de mémoire? Une autre façon de coder en Python qui va fonctionner?
Sinon y a t-il une solution alternative, une mise a jour de PySFML qui résous ce bug? (si ma version n'était pas a jour) Etc...

Merci d'avance :)

3
Général / Compiler la SFML 2.1 pour Visual Studio 2013 en 64bits
« le: Octobre 23, 2013, 10:57:43 pm »
Bonjour,
J'ai suivis le tuto, et j'ai réussi a compiler la SFML 2.1 pour Visual Studio 2013 en 32bits.

Pour le 64bits, je lance vcvars64.bat au lieu de vcvars32.bat

Sauf que ça me compile du 32bits.
Donc je modifie les types de compilation, et remplace du coup Win32 par x64, sauf que du coup j'ai une erreur qui me dit que Clock.obj est de type x86 et pas x64.
Je suppose qu'il y a un lien vers des libs en x86 a convertir en x64, mais quoi?

Merci :)

PS: J'ai vu que ça avait compilé en 32bits, parce que pour mon projet a la compilation en 64bits il m'as dit que la SFML était en x86.

4
Général / Générer la SFML en statique?
« le: Octobre 18, 2013, 03:11:31 pm »
Bonjour,
Que dois-je faire pour compiler la SFML en statique? (.a)
Dois-je passer une option particulière a cmake ou make?
Merci :)

5
Réseau / Impossible d'écouter le port ....
« le: Juin 02, 2013, 12:47:36 pm »
Bonjour,
J'ai trouvé un petit bug au niveau du module réseau. (SFML 2.0 stable)
Dans certaines conditions, l'application deviens incapable d'écouter un port qui est pourtant libre.

Donc, Socket TCP, en mode non-bloquant, testé sous Linux.
Cas de figure qui bug:
1 - Lancer le serveur
2 - Connecter le client
3 - Shooter le serveur
4 - Relancer le serveur

Et:
1 - Lancer le serveur
2 - Connecter le client
3 - Shooter le serveur
4 - Shooter le client
5 - Relancer le serveur
Normalement le serveur ne peut pas écouter le port pendant quelques minutes. (Même si on shoot le client après, il faut quand même attendre).

En revanche dans ce cas de figure:
1 - Lancer le serveur
2 - Connecter le client
3 - Shooter le client
4 - Shooter le serveur
5 - Relancer le serveur

Fonctionnent parfaitement.

Le problème doit être un bug qui empêche d'écouter un port si un client a déjà une connexion ouverte dessus. (sf::TcpSocket::connect)
J'ai le bug assez fréquemment quand je développe les applis, et a force de l'avoir j'ai finis par voir ça :)
C'est pas un bug extrêmement important, mais ça fait quelques prises de tête si on l'as plusieurs fois quand on développe un truc.
Merci :)

6
Graphique / Taille d'un sf::Vertex
« le: Mai 09, 2013, 07:01:33 pm »
Bonjour,
J'ai codé un moteur de particules en utilisant la SFML, et plus particulièrement avec des sf::Vertex et sf::Vertex Array.

Le moteur de particules a de très bonnes performances (je suis a env 300 - 350FPS avec 8000 particules, je tombe a 15FPS vers 400000 particules, donc y a de la marge)
Il gère le déplacement vectoriel, supporte des courbes, changement de couleur, etc....

J'aimerais lui rajouter la possibilité d'avoir des particules de différentes tailles. Actuellement les particules sont toutes de 1px.

Existe t-il un moyen de créer des particules plus grosse avec des sf::Vertex? (et sans détruire les perfs)
Je met tous mes sf::Vertex dans un gros sf::VertexArray et je fais un draw.
Comment pourrais-je faire pour augmenter la taille des particules? (si possible des particules "rondes")
Merci :)

7
Graphique / Problème avec les sf::Texture
« le: Mars 03, 2013, 02:32:55 am »
Bonjour,
Dans la SFML 2.0 RC j'ai eu un problème avec les sf::Textures sur ma carte ATI.
J'avais déjà parlé d'un problème avec les sf::ConvexShape.

J'ai maintenant la raison de "pourquoi ça fonctionnait sur la 1.6 et ne fonctionne plus sur la 2.0 !"
Les sf::Shape de la 1.6 étaient fait uniquement par des points et des couleurs. Les sf::ConvexShape de la 2.0 utilisent des sf::Texture.


A partir d'ici vous pouvez quasiment zapper le message et passer au suivant, je me rends compte que j'ai dit un truc parfaitement inutile et que le message suivant corrige, en apportant un code minimal. (Vous pouvez toujours télécharger la comparaison de rendu d'image entre les 2 cartes de ce post pour avoir une idée plus précise du bug)

Dans je ne sais quelle condition, je n'arrive pas a utiliser correctement les sf::Texture sur ma carte ATI.

J'ai testé dans une fenêtre SFML seule, ça a l'air de marcher.
Dans un QSFMLCanvas ça a l'air de marcher (sauf que pour la version nightly fait rajouter XInitThread dans le main.cpp sinon ça le programme crash).

Moi je suis dans le cas où justement j'utilise un QSFMLCanvas.

J'ai un QWidget de base, qui contient un menu (Type Fichier, Édition, etc..) et j'ai juste en dessous un rendu SFML. (Si le QWidget ne contient rien, a priori tout fonctionne dans la SFML)

Maintenant, j'ai 2 jeux différents, qui utilisent le même système de fenêtre avec une menu sur le QWidget, et le rendu SFML en dessous.
Sur ces 2 jeux, j'ai le problème suivant: Les sf::Texture ont des bugs.

Dans le premier jeu, le problème a l'air de se limiter aux textures générées à partir de sf::Image, et donc mes sf::ConvexShape. C'est comme ça que je génère mes dégradés, et a priori il y a un conflit quelque part avec Qt puisque les textures sont bugguées.

Dans un second jeu, toutes les sf::Texture que je charge sur la carte ATI sont buguées. (Je n'ai pas de problèmes sur la carte Nvidia, les pilotes Nvidia doivent s'occuper eux même du problème)

J'ai donc modifié le code du jeu, et essayé la chose suivante: Charger une sf::Image. La sauvegarder sur le disque dur. La convertir en sf::Texture, et sauvegarder la sf::Texture sur le disque dur.

Résultat: Sur la carte Nvidia, tout fonctionne correctement en jeu, et les images de sorties sont intactes.
Sur la carte ATI, le jeu est entièrement buggué, les images provenant des sf::Images sont intactes, et les images provenant des sf::Textures sont bugguées.

Je vous ai fait une archive contenant les images sauvées sur le disque dur pour chaque carte graphiques.
Elles sont de tailles différentes, et donc ce n'est pas un type d'image qui bug, c'est bien toutes les textures.

L'archive: http://s2.smglive.org/SFML/Test.7z
Les images en _Img sont les sf::Image qui ont été chargé depuis le disque dur et sauvés directement.
Les images en _Tex sont les sf::Texture qui ont été sauvées sur le disque dur.
→ Charger une sf::Texture depuis le disque dur, ou charger une sf::Image et la convertir en sf::Texture ensuite fait le même résultat.

Je pense a un bug mémoire où quelque chose du genre parce que les _Tex de la carte ATI changent à chaque fois de tête.

ici on reconnais encore par endroit des fragments de l'image originale.
Si j'avais lancé un autre jeu avant (SFML ou pas) j'aurais eu des fragments de cet autre jeu.
Si j'avais tapé dans mon shell de GNOME3 avant, j'aurais eu des fragments de mes raccourcis de mon shell GNOME3.

J'ai fait un test du programme donc, depuis l'ordi avec la carte ATI, qui lance le jeu par SSH sur un ordi avec une carte Nvidia. Résultat: Le jeu s'affiche correctement sur le client avec la carte ATI. (avec quelques lenteurs dues au SSH)

Le problème n'est donc pas de l'affichage, mais du calcul des textures par la SFML.

Je dois faire une présentation pour mon TPE (pour mon bac), et j'ai codé exprès un logiciel pour faire de meilleures diapo qu'un simple PowerPoint, et il utilise la SFML avec Qt.

Je l'ai développé sur ma tour avec carte Nvidia, et surprise pour ma carte ATI....
Au début, je pensais que c'était uniquement ma carte qui bugguait avec les pilotes Linux. (Proprio, et je les ai mis a jour en version 13.1 hier j'ai la même chose).

Ma carte est une Mobility Radeon HD 4470.
Et en fait non, j'ai testé sur 7 ordis avec tous une carte ATI différente, et j'ai le même résultat partout.
J'ai testé sur:
Ubuntu 12.04 LTS
Ubuntu 12.10
Windows Xp
Windows 7
Et j'ai testé généralement un Windows et un Linux pour chaque ordi.

J'ai pareil, ou presque. Sur Linux, j'ai une image totalement bugguée qui s'affiche. Sur Windows, je n'ai pas d'image du tout, j'ai "rien" qui s'affiche.

En dehors des sf::Texture, tous les autres objets graphiques fonctionnent correctement.

→ Je le dit au passage, malgré que j'ai mis XInitThreads dans le main.cpp sans quoi le jeu crash, il arrive qu'il crash encore de temps en temps avec ça. Exemple, le second jeu que j'ai voulu testé, je n'ai pas pu le démarrer sur le serveur SSH a cause de cette erreur, tant qu'il n'y a que l'interface Qt tout va bien, mais dès que le QSFMLCanvas démarre j'ai cette erreur:
Xlib: sequence lost (0x10053 > 0x56) in reply type 0x0!
[xcb] Unknown request in queue while dequeuing
[xcb] Most likely this is a multi-threaded client and XInitThreads has not been called
[xcb] Aborting, sorry about that.
SMG_RPG: ../../src/xcb_io.c :178 : dequeue_pending_request:  l'assertion « !xcb_xlib_unknown_req_in_deq » a échoué.
./Start.sh : ligne 3 :  3546 Abandon                 (core dumped) ./SMG_RPG
Erreur que j'avais de temps en temps avec la SFML 2.0 rc (pas nightly) et que j'ai aussi sur carte Nvidia.

Donc je pense que le "fameux bug" graphique est du a un problème d'intégration entre la SFML et Qt. (Ils doivent s’emmêler les pinceaux ou le genre..)

Voilà, je termine de reproduire le bug mais actuellement la seule différence entre la version qui marche et celle qui bug c'est l'intégration avec Qt.
→ Sur la version Windows par contre, j'avais carrément des crash graphiques et impossible de démarrer la SFML en tant que QSFMLCanvas dans Qt, donc mes tests sur Windows ont été en tant que QSFMLCanvas mais en dehors d'un autre QWidget.

Faudrait donc creuser de ce coté là. Le QSFMLCanva utilisé est celui de la 1.6 modifié pour appeler les fonctions de la 2.0 (changement de casse des noms de fonction) a partir de là j'espère que vous pourrez m'aider, je peux faire des tests, modifier les QSFMLCanva et au besoin aller directement modifier dans les fichiers de la SFML (et recompiler) pour trouver d'où ça viens :)

Je suis là toute la semaine (vacances solaires) et j'espère qu'on aura trouvé une solution pour le Lundi 11, si d'ici là c'est pas trouvé je m'arrangerait autrement bien sûr, mais avoir des jeux qui marchent sur carte ATI ça serait nickel.

→ Si vous connaissez "M.A.R.S a ridiculous shooter" qui est un jeu développé avec la SFML 2.0. Je l'ai testé sur la carte ATI il y a 5min pour voir, et il ne bug absolument pas. Il utilise uniquement la SFML sans Qt. Donc le bug doit vraiment provenir de l'intégration de la SFML dans Qt.

Merci :)

PS: Désolé pour la taille du post, je ne sais pas trop faire court pour expliquer un truc.

8
Graphique / SFML 2.0 Snapshot : convertCoords?
« le: Mars 01, 2013, 07:50:34 pm »
Bonjour,
Je suis en train de mettre a jour la version de la SFML 2.0 de mon projet.
J'ai donc compilé la version 2.0 snapshot d'aujourd'hui.

Seulement voilà:
Game_Main.cpp:1703:59: error: 'convertCoords' was not declared in this scope
Je suis dans un objet sf::RenderWindow, j'appelle convertCoords qui fonctionnait jusque là, et la fonction n'existe plus.

Où retrouver cette fonction?
Merci :)

9
Graphique / Particules sur l'écran / Fusion SFML - SDL
« le: Décembre 23, 2012, 05:27:35 pm »
Bonjour,
J'ouvre ce sujet pour savoir 2 choses a propos du module graphique de la SFML (2.0).

Déjà: Existe t-il un moyen de dessiner directement des pixels sur l'écran (sans passer par sf::Image → sf::Texture → draw()).
De façon relativement simple si possible, si il faut utiliser directement OpenGL par exemple je ne saurais pas comment faire.

Je pose cette question car je me suis crée un moteur de particules, il tourne très bien, mais a un défaut majeur: La zone de rendu.
Vu qu'il dépose les particules comme pixels sur une sf::Image qu'il convertit et affiche ensuite, il faut que la zone de rendu soit assez petite, exemple, une zone de rendu de 800*600 ça passe plutôt bien, même avec 100000 particules, en revanche une zone de rendu de 1920*1080 ça fait ramer le jeu même avec 0 particules, parce que le moteur de particules doit s'amuser à effacer l'image (ou supprimer une puis la recréer) d'une grande taille et ensuite y poser les particules, la convertir en sf::Texture et enfin l'afficher.
Bref, chute de perfs assurée, si il existe une fonction pour dessiner directement sur la fenêtre je suis preneur.


Ensuite, est t-il possible de fusionner SFML et SDL, les 2 bibliothèques utilisant OpenGL ça serait intéressant.
J'apprends en ce moment a utiliser la SDL en plus de la SFML, et je constate 2 choses:
- La SDL est plus difficile a utiliser que la SFML (du moins a prendre en main)
- La SDL propose par contre des choses plus précise et de plus bas niveau (exemple, la selection entre la mémoire RAM et la mémoire graphique)

Je pense donc que les 2 bibliothèques peuvent se compléter l'une et l'autre, et par exemple je sais déjà que la SDL propose de dessiner directement des pixels sur l'écran, d'où l'idée de la fusionner à la SFML.

Voilà, j'ai peut être pas la bonne solution à mon problème, donc un peu d'aide serait avec joie :)
Merci :)

PS: J'apprends à utiliser la SDL en C++ afin de profiter des std::string et tout le C++, malgré que la SDL soit codée en C.

10
Graphique / [SFML 2.0 RC][Linux] Problème d'affichage sur carte ATI
« le: Octobre 28, 2012, 03:32:59 pm »
Bonjour,
Voici donc le sujet de rapport de bug pour l'affichage des sf::ConvexShape sur les cartes ATI.
Beaucoup de dégradés réalisés avec des sf::ConvexShape ne s'affichent pas correctement sur les cartes ATI.
J'ai a ma disposition pour le test des cartes Nvidia et des cartes ATI, le rendu est pareil pour les cartes de la même marque.
En revanche, il y a des différences de rendu entre les cartes Nvidia et les cartes ATI.
Quand je dis ATI, entendez ATI/AMD.
J'ai fait un certain nombre de captures d'écran, j'en poste que quelques unes (petites) ici, les autres je les met sous forme de lien.
Les captures de la carte Nvidia dans ce test seront prises sur une Nvidia GT 220 depuis Ubuntu 12.04 LTS 64bits.
Les captures de la carte ATI dans ce test seront prises sur une ATI Mobility Radeon HD 4570 depuis Ubuntu 12.04 LTS 64bits.
Exemple d'un bouton affiché normalement sur une carte Nvidia:

(Les trucs verts sont des particules en mouvement, ignorez les, ça fait moche sur la capture, mais dans le jeu c'est joli grâce a l'effet de mouvement..)
Le même bouton sur la carte ATI:

Le bouton central est un sprite, le texte est un sf::Text et l'effet de surbrillance est 4 sf::ConvexShape.

Voilà, plutôt que de vous passer pleins de liens, autant vous passer une archive contenant toutes les captures. (2 dossiers, un ATI, un Nvidia)
Vous constaterez que pour les mêmes images, des fois les cartes ATI affichent correctement, ou presque correctement les sf::ConvexShape, et sinon la plupart du temps ça fait un rendu hyper mauvais.
http://s2.smglive.org/SMG_RPG/ConvexShapeATI-Nvidia.7z

Aussi, j'ai d'autres informations qui pourraient êtes utiles, lorsque le jeu quitte sur une carte Nvidia, tout va bien, mais sur une carte ATI:
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff4a2cc58 in XQueryExtension ()
   from /usr/lib/x86_64-linux-gnu/libX11.so.6
(gdb) bt
#0  0x00007ffff4a2cc58 in XQueryExtension ()
   from /usr/lib/x86_64-linux-gnu/libX11.so.6
#1  0x00007ffff4a20c55 in XInitExtension ()
   from /usr/lib/x86_64-linux-gnu/libX11.so.6
#2  0x00007ffff3ed502b in XextAddDisplay ()
   from /usr/lib/x86_64-linux-gnu/libXext.so.6
#3  0x00007ffff4d6a119 in ?? () from /usr/lib/fglrx/libGL.so.1
#4  0x00007ffff4d60b42 in ?? () from /usr/lib/fglrx/libGL.so.1
#5  0x00007fffffffe050 in ?? ()
#6  0x00007ffff4dc38b1 in ?? () from /usr/lib/fglrx/libGL.so.1
#7  0x00007fffffffe050 in ?? ()
#8  0x00007ffff7de992d in ?? () from /lib64/ld-linux-x86-64.so.2
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Notez que j'utilise les pilotes propriétaires Nvidia et ATI sur les cartes graphiques, les pilotes libres ne savent pas encore lancer de jeux comme ça.
Merci :)

11
Réseau / Gérer correctement l'UDP
« le: Octobre 07, 2012, 01:17:16 pm »
Bonjour,
Voilà, donc j'ai un problème un peu ennuyeux, j'ai un jeu qui utilise TCP et UDP sur un port défini.
Le problème, c'est que ça empêche la possibilité de créer plusieurs serveurs sur une seule machine.
J'ai donc rajouté la possibilité de choisir le port.
En TCP, aucun problèmes.
J'ai donc essayé de me passer de l'UDP, mais impossible, la masse de donnée (a raison de 1Socket toutes les 0.2 ou 0.5s seulement) fait complètement planter le jeu, et les échanges TCP qui fonctionnaient jusque là se retrouvent buggués.
Exemple, en combat tour par tour, l'échange de donnée prends beaucoup de temps alors que je suis en local et que ça prends normalement moins d'une demi seconde et les clients répetent plusieurs fois la même action parce qu'ils ne reçoivent plus correctement les données, et pour finir a la fin du combat je découvre qu'un des 2 joueurs ne peut même plus échanger de données (en rapport avec le problème de socket dont j'ai déjà parlé? Surcharge? → J'ai bien trouvé un bug là dessus pourtant dans mon précédent sujet..).
Bref.

Donc voici mon problème:
Je voudrais ouvrir un port UDP fixe sur le serveur de jeu, jusque là, pas de problèmes.

Ensuite, le problème est du coté client: J'aimerais que le client puisse recevoir des données en UDP sans que j'aie besoin d'ouvrir de ports sur le routeur (comme en TCP). Je suppose que c'est possible puisque les jeux comme Red Eclipse ou Nexuiz (et tous les autres quelque soit l'OS) doivent utiliser l'UDP vu la masse de données qu'ils ont a envoyer et sans avoir besoin de configurer de ports sur le routeur, c'est pas pratique pour le joueur.

J'ai regardé du coté de l'UPNP si c'était faisable, mais je n'arrive pas a l'utiliser et j'ai l'impression de me tromper de voie puisque les jeux comme Red Eclipse ne l'utilisent pas. (Source: Panneau de config de ma Freebox)

Est ce que quelqu'un pourrait m'expliquer comment permettre au client de récupérer des données sans ouvrir de port sur son routeur?
Existe t-il un moyen de se connecter a un serveur comme en TCP pour ne pas avoir besoin de faire ça?
Est t-il possible de recevoir des données coté client sans écouter de port (comme en TCP coté client)?
Merci :)

12
Général / Touches appuyées, choisir la fenètre a tester?
« le: Août 24, 2012, 05:11:20 pm »
Bonjour,
Pour tester une touche appuyée (pour le déplacement d'un personnage RPG) j'utilise sf::Keyboard::isKeyPressed (SFML 2.0)

Alors c'est simple a utiliser, ça fonctionne, mais y a juste un truc qui me pose problème:
J'ai réduit la fenêtre, j'appuie sur une touche du clavier censée faire déplacer le personnage dans le jeu et le personnage se déplace.

En gros, quelque soit la fenêtre sur laquelle je suis je déplace le personnage dans le jeu, alors que je ne voudrais pas...


Existe t-il un moyen de capter uniquement ce qui arrive dans la fenètre du jeu? (Toujours pour un déplacement de personnage ou autre, ou la touche doit pouvoir rester appuyée et testée rapidement [comme sf::Keyboard], j'ai déjà vu que les sf::Event ne sont pas adaptés a cette utilisation)

Merci :)

13
Graphique / [SFML 2.0 RC] sf::Text bug d'affichage
« le: Août 11, 2012, 04:24:05 pm »
Bonjour,
J'ai trouvé un bug avec les sf::Text de la SFML 2.0 RC, bug que je n'avais pas pour le même projet en SFML 1.6.

Donc, en utilisant la police Arial (ou celle par défaut c'est pareil...) sous Ubuntu 12.04 LTS 64 bits avec les pilotes propriétaires Nvidia:

Vous voyez sur l'image, la police a l'air de "dégueuler" un peu...

Comme si la SFML affichait un carré autour des caractères, j'ai déjà eut le coup ou le carré était bleu pour un texte blanc...

Cependant le bug n’apparaît pas a chaque fois, souvent au démarrage du programme, ou la première fois que l'on affiche des sf::Text (static, ou pointeur) le problème n'arrive pas, par contre en relançant les fonctions on arrive a avoir des bugs de ce type....

Sur l'image ça ne bug pas pour tous les caractères, mais j'ai le bug avec a peu près n'importe quelle lettre ou chiffre.....ça dépends des fois.

C'est pas que je veuille chercher les bugs (loin de là..) vu que j'en ai déjà posté un pour le réseau, mais étant donné que je ne l'avais pas dans la 1.6 (sf::String) et que maintenant sur la 2.0 RC (sf::Text) je l'ai et que ça fait pas très propre je pense que c'est bon de le signaler :)

Pour confirmer voici d'autres captures ou ça bug:



Par contre, un sf::Text qui bug peut être affiché alors que d'autres a coté n'ont pas le bug (static/pointeur ou pas...), donc je ne vois pas comment reproduire le bug, c'est un "coup de chance" il suffit d'afficher un sf::Text static et vous verrez normalement le bug, si il n’apparaît pas, essayez de relancer le programme.

Sur les 2 premières images c'est des sf::Text static, sur la 3ème c'est un pointeur.

A priori le bug a peu de chance d'arriver sur les sf::Text générés a chaque image.
Je ne sais pas si on peut mettre des lissages ou autres sur les textes, mais j'ai pas touché a ce genre d'options, les sf::Text que j'ai mis dans les captures sont avec la config par défaut (sauf peut être pour la taille du texte et la police qui est Arial [celle du système])

Voilà, Merci :)

14
Réseau / Socket qui bloque sur NotReady ! / Problème de paquets...
« le: Août 07, 2012, 11:32:41 pm »
Bonjour,
J'avais déjà parlé de ça, j'ai un bug avec des sockets aussi bien TCP que UDP, il arrive, mais c'est purement aléatoire, c'est a dire que d'une machine a l'autre ça va marcher ou non, que les socket restent bloqués en écoute sur NotReady.

Une fois bloqué, plus moyen de transférer des données..

Donc mon code est bien standard et j'utilise les sf::Packet (mais j'avais déjà le bug sans).
Je suis passé de la 1.6 sur laquelle j'avais le bug a la 2.0 et j'ai toujours le bug.


Donc le socket reste connecté, je l'ai vu avec le TCP je peux encore envoyer des données (en UDP aussi d'ailleurs) et le serveur les reçois et les interprètes, mais le client ne peut plus en recevoir et coté serveur c'est bien indiqué "not-ready"

Il m'est déjà arrivé que le serveur soit bloqué en NotReady temporairement mais ça ne le fait quasiment jamais.

Je précise que les socket sont en "non-bloquant" et les écoutes se font en haut de la boucle principale je ne sais pas si ça peut jouer...

Dans mon cas par exemple avec les pare-feu sur off Ordi1 peut se connecter sur Ordi2 sans pb mais l'inverse ne fonctionne pas, les sockets restent bloqués. (Il va se connecter, mais au bout de quelques données échangées il va se bloquer sur "NotReady")
Et il arrive que lorsque que Ordi1 est connecté sur Ordi2 il ne reçoive plus les positions des autres joueurs parce que le socket UDP est resté bloqué sur "NotReady"....

Quelqu'un a t-il déjà eut le problème?
Quelqu'un sait-il comment le corriger?
Quelqu'un a t-il des conseils a me donner pour éviter ce genre de problèmes ou sur la meilleure utilisation possible des socket? (façon de l'utiliser)
Merci :)

EDIT: J'ai trouvé ça: http://en.sfml-dev.org/forums/index.php?topic=7435.0 qui parle du même problème mais en anglais..je suis en train de le lire pour voir...

EDIT2: En fait non, c'est un autre problème, carrément pas de connexion, enfin, ça m'est arrivé aussi, mais c'est pas mon problème actuel....et il les utilise aussi en non-bloquant et avec un timeout de 0...

EDIT3: Est-ce mieux de mettre les connexion sur Thread en mode bloquant? Ou de les laisser comme maintenant (sans thread) dans la boucle principale? En sachant que j'ai besoin de perfs et que ça ne rame pas (surtout sous Windows, je sais que Linux gère bien les Threads mais sous Windows c'est une horreur....)

15
Graphique / [SFML 2.0] sf::ConvexShape
« le: Août 07, 2012, 02:45:33 am »
Bonjour,
Je suis en train de passer mon projet de la SFML 1.6 a la SFML 2.0, et j'ai un problème:
J'ai des objets de type sf::Shape (1.6) qu'il faudrait que je crée avec la SFML 2.0, on m'as dit d'utiliser les sf::ConvexShape, ok.

Seul détail:
-> Comment choisir la couleur d'un point? C'était tout simple avec un sf::Shape, ici je ne trouve pas...
-> A savoir que mon sf::Shape était rarement rectangle, c'était le plus souvent un Polygone quelconque, et que les points n'ont pas tous la même couleur (dans le but d'avoir des dégradés..), comment choisir les couleurs des points un a un?

Comment faire? (PS: Si ce n'est pas le bon objet, comment faire avec un autre objet?)
Merci :)

Pages: [1] 2 Suivante »