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

16
Audio / Problème inconnu avec SoundBuffer
« le: Décembre 08, 2013, 06:59:17 pm »
Bonjour,

J'ai actuellement une erreur avec la classe SoundPlayer du livre SFML que j'ai légèrement modifié,

Voici les logs d'erreurs :
C:\SFML\include\SFML\Audio\Sound.hpp|46|erreur: expected class-name before '{' token|
C:\SFML\include\SFML\Audio\Sound.hpp|154|erreur: 'Time' has not been declared|
C:\SFML\include\SFML\Audio\Sound.hpp|182|erreur: 'Time' does not name a type|
C:\SFML\include\SFML\Audio\Sound.hpp|190|erreur: 'Status' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|89|erreur: expected type-specifier|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|89|erreur: expected '>'|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|94|erreur: '_Alloc' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|108|erreur: '_Alloc' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|112|erreur: '_Alloc' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|112|erreur: expected template-name before '<' token|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|112|erreur: expected identifier before '<' token|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|112|erreur: expected unqualified-id before '<' token|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|114|erreur: '_Rb_tree' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|116|erreur: '_Rep_type' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|121|erreur: '_Key_alloc_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|122|erreur: '_Key_alloc_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|123|erreur: '_Key_alloc_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|124|erreur: '_Key_alloc_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|128|erreur: '_Rep_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|129|erreur: '_Rep_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|130|erreur: '_Rep_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|131|erreur: '_Rep_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|132|erreur: '_Rep_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|133|erreur: '_Rep_type' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|150|erreur: 'allocator_type' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|183|erreur: 'allocator_type' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|206|erreur: 'is_nothrow_copy_constructible' was not declared in this scope|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|206|note: suggested alternative:|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\type_traits|1021|note:   'std::is_nothrow_copy_constructible'|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|206|erreur: expected primary-expression before '>' token|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|206|erreur: '::value' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|219|erreur: expected ')' before '<' token|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|270|erreur: declaration of 'operator=' as non-function|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|270|erreur: expected ';' at end of member declaration|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|270|erreur: expected ')' before '<' token|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|289|erreur: 'allocator_type' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|411|erreur: 'pair' in namespace 'cm::std' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|420|erreur: 'pair' in namespace 'cm::std' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|481|erreur: 'initializer_list' has not been declared|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|481|erreur: expected ',' or '...' before '<' token|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|673|erreur: 'pair' in namespace 'cm::std' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|677|erreur: 'pair' in namespace 'cm::std' does not name a type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|684|erreur: nombre erroné d'arguments du patron (3 devrait être 2)|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|91|erreur: provided for 'template<class _Key, class _Compare> class cm::std::set'|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|684|erreur: nombre erroné d'arguments du patron (3 devrait être 2)|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|91|erreur: provided for 'template<class _Key, class _Compare> class cm::std::set'|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|684|erreur: 'bool cm::std::operator==(const int&, const int&)' must have an argument of class or enumerated type|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|688|erreur: nombre erroné d'arguments du patron (3 devrait être 2)|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|91|erreur: provided for 'template<class _Key, class _Compare> class cm::std::set'|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|688|erreur: nombre erroné d'arguments du patron (3 devrait être 2)|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|91|erreur: provided for 'template<class _Key, class _Compare> class cm::std::set'|
c:\mingw\bin\..\lib\gcc\mingw32\4.7.2\include\c++\bits\stl_set.h|688|erreur: 'bool cm::std::operator<(const int&, const int&)' must have an argument of class or enumerated type|
||More errors follow but not being shown.|
||Edit the max errors limit in compiler options...|
||=== Build finished: 50 errors, 0 warnings (0 minutes, 41 seconds) ===|
 


Le problème semble venir de la classe Sound de la SFML, pourtant elle marchait bien...

Je suis en 2.1

Voilà merci d'avance :)

17
Projets SFML / Framework
« le: Novembre 29, 2013, 08:40:08 pm »
Bonjour,

Je suis d'assez près les quelques projets de framework sur ce forum (en ce moment celui de Lolilolight avec sa 3D)

Je suis moi-même en train de développer une sorte de framework et je pense qu'au lieu de séparer les framework de chacun on devrait faire un framework ensemble avec un max de gens de la communauté SFML.

Et donc pourquoi pas créer un framework "SFGL" (idée de nom du framework de Lolilolight) par la communauté française (et pourquoi pas anglaise) enfin un truc de "fou" qui puisse justement être digne de la SFML

Je vais donner une liste de framework plus ou moins abouti que j'ai trouvé :

- https://github.com/SFML/SFML-Game-Development-Book, Le livre sur SFML qui présente un jeu plutôt pas mal avec les concepts importants

- https://github.com/tobsa/SFML-Framework, Ici un anglais mais c'est un framework avec des fonctionnalités sympas

- https://github.com/Lo-X/potato-framework, Un très bon framework, celui de Lo-x, un membre SFML français

- https://github.com/Cmdu76/GameTest, Le mien, fortement inspiré du livre SFML, je me sers de l'héritage sur des classes présentées dans le livre pour ne pas toucher à grand chose au final

- http://fr.sfml-dev.org/forums/index.php?topic=12616.0, Le projet de RPG 2D en réseau de Lolilolight

- http://fr.sfml-dev.org/forums/index.php?topic=13485.0, Le projet pour la 3D de Lolilolight, que je mentionne plus haut

- http://fr.sfml-dev.org/forums/index.php?topic=7617.0, Un projet plutôt abouti sur les jeux Sonic mais le code est très bien construit

EDIT : http://khayyam.developpez.com/articles/cpp/jeux/architecture/, Très bon article présentant une structure un peu différente mais intéressante

EDIT : https://github.com/TankOs/SFGUI, Je crois que c'est un des meilleurs (ou même le meilleur) système de GUI pour SFML

EDIT : http://code.google.com/p/gqe/, Un projet de moteur de jeu cité par Lo-x sur son devblog pour son système d'entités vraiment génial :)

EDIT : http://code.google.com/p/engenesis/, un framework développé par Lo-x

Lo-x si tu me lis, parle-moi de tes 2 frameworks :)

Bon voilà c'est des projets que certains connaissent bien et peut-être même que vous en êtes l'auteur, dans tout les cas, je pense que créer un github avec le nom de SFGL et se faire un framework qui soit digne de ce nom serait mieux ensemble :)


18
Général / Problème de deboggage avec un code du Livre SFML
« le: Novembre 15, 2013, 10:26:00 pm »
Bonjour,

Je suis sur un projet de mini-framework avec SFML en m'inspirant du livre sorti sur SFML

J'ai copié un bout de code du chapitre des States de la fonction registerStates() dans le StateStack.


template <typename T>
void StateManager::registerState(unsigned int id) //contrairement au livre j'ai décidé de ne pas utiliser les ID, car, contrairement au livre, l'utilisateur de mon mini-framework n'est pas sensé toucher aux fichiers.
{
        mFactories[id] = [this] ()
        {
                return State::Ptr(new T(*this, mContext));
        };  /* LIGNE QUE LE DEBUGGER SIGNALE COMME  PROBLEMATIQUE */
}
 

Erreurs du debugger :
- operator() (__closure=0xa27418)
- std::_Function_handler<std::unique_ptr<State, std::default_delete<State> > (), void StateManager::registerState<MenuState>(unsigned int)::{lambda()#1}>::_M_invoke(std::_Any_data const&)(__functor=...)
- std::function<std::unique_ptr<State, std::default_delete<State> > ()>::operator()() const

Voilà, je ne mis connais pas en functor ou en lambda expression ou même avec l'emploi des std::function donc si je pouvais avoir un petit coup de main je vous en serais reconnaissant :)








19
Graphique / Stocker et utiliser une image depuis une std::string
« le: Octobre 16, 2013, 11:24:35 pm »
Bonjour,

Je suis en train de travailler sur un programme et j'aimerais le distribuer.

Ducoup j'aimerais donner juste le .exe sans filer des documents et fichiers (images/sons/...)

J'aimerais savoir s'il est possible de créer un fichier .cpp à part qui me retourne une std::string contenant le code d'une image (quand on fait clic-droit, ouvrir avec notepad++ ou autres logiciels du même type) et de charger cette string en tant que Texture avec loadFromStream ou un truc du genre...

Voilà, j'aimerais savoir si c'est faisable et surtout si ça a déjà été fait :)

20
Général / Concept des States
« le: Août 13, 2013, 11:46:41 pm »
Bonjour,

Je poste ici car depuis pas mal de temps je suis en train de chercher à faire un truc plutôt optimisé et donc je vois pas mal de gens utilisant des States et StateManager.

Donc je sais que ce n'est pas à proprement parler une partie intégrante de SFML mais beaucoup d'utilisateurs utilisent ce concept (si je suis pas dans la bonne catégorie bougez -moi, je pense avoir choisi la plus appropriée)

Est-il possible d'avoir des explications sur le fonctionnent d'un tel système (rapide) ou un morceau de code "clair" ?

Merci d'avance :)

21
Système / TextEntered trop rapide...
« le: Août 13, 2013, 10:24:55 pm »
Bonjour à tous !

Je travaille sur des zones de saisies de textes mais l'entrée est trop rapide...

Pourtant j'utilise bien la gestion de TextEntered et pas KeyPressed... Ensuite j'ai essayé d'activer setKeyRepeatEnabled(false) mais rien ne change...

Mon code :

void Input::onEvent(sf::Event event,sf::RenderWindow* window)
{
    if(isHover(window) && event.type == sf::Event::MouseButtonPressed && event.mouseButton.button == sf::Mouse::Left)
    {
        select(this);
    }//Select permet de définir quel est le champ séléctionné

    if((InputSelected == this && event.type == sf::Event::TextEntered && event.text.unicode > 64 && event.text.unicode < 91)  /* 64 < a < 91 = MAJ */
    || (InputSelected == this && event.type == sf::Event::TextEntered && event.text.unicode > 96 && event.text.unicode < 123) /* 96 < a < 123= MIN */
    || (InputSelected == this && event.type == sf::Event::TextEntered && event.text.unicode > 47 && event.text.unicode < 58)) /* 47 < a < 58 = NUM */
    {
        addChar(event.text.unicode);
    } // Donc ici on ajoute un caractère à ma string dans la zone de saisie
 

    if(InputSelected == this && event.type == sf::Event::KeyPressed && event.key.code == sf::Keyboard::BackSpace)
    {
        removeChar();
    } //et ici on enlève le dernier
}

Quelqu'un a-t-il une solution ? Merci d'avance :)

22
Bonjour à tous !

Je suis en train de travailler sur un petit projet ici : http://fr.sfml-dev.org/forums/index.php?topic=12617.0

Et je viens de réfléchir à comment simplifier au maximum ma fonction main (j'ai sûrement pas encore uploadé ma dernière version)

Donc premièrement je suis venu repenser l'ordre d'affichage "traditionel" qui est :
window.clear()
window.draw(...)
window.display()

Je me suis dit que finalement, vu que la boucle se lit "vite", que le code du haut et celui-ci revenait au même :
window.draw(...)
window.display()
window.clear()

J'ai fait des tests, aucuns problèmes :)

Maintenant c'est la que j'ai poussé à la simplification "extrême", j'ai ajouté les fonctions display() et clear() dans la fonction isOpen() comme ceci :

bool Application::isOpen()
{
    bool running = mWindow.isOpen();
    display();
    clear();
    return running;
}

//Dans mon projet, je travaille sur une classe Application qui comporte une RenderWindow et ses méthodes (que je peux donc modifer)

et donc après ça je peux dessiner tranquillement dans ma boucle isOpen() sans me soucier des display et clear :)

Bon voilà c'est pas grand chose mais finalement quand on compte le nombre de fois qu'on écrit ces fonctions :)

Ensuite j'ai essayé de voir les avantages de "l'ancienne" méthode, finalement le seul inconvénient c'est le fait que clear peut prendre un paramètre... Mais en fait, il suffit d'ajouter la couleur du clear en paramètre à isOpen() ;)

Voilà, je pense que cette petite chose peut être simplifiée :)




23
Projets SFML / [Gui] CmGui
« le: Août 12, 2013, 07:21:28 pm »
Bonjour à tous !

Je présente rapidement un projet que j'ai commencé hier soir (le 11/08/13).
Donc mon but lorsque j'ai démarré ce projet était de réaliser principalement des Boutons
Avant je me compliquait la tâche en utilisant environ 10 lignes par bouton entre la texture, la sprite, la position, le textureRect, le BoundingRect, le texte à l'intérieur... et je ne vous parle pas de la gestion du survol et du clic...
Et je ne vous en parle même pas quand on arrive à un page avec plusieurs boutons...

Enfin bref, j'ai donc crée quelques classes afin de simplifier tout ça :)

Voici un exemple d'un fichier main.cpp :

#include <SFML/Graphics.hpp>
#include "include/Application.h"

int main()
{
    Application app;

    BoutonText bouton = app.newBoutonText(app.getTexture("gui.png"),sf::IntRect(0,0,396,35),sf::IntRect(0,35,396,35),sf::IntRect(0,70,396,35),sf::Vector2f(0,0),4,10,"Clique pour centrer",23,app.getFont("cloister.ttf"),sf::Color(255,255,255));
    BoutonImage boutonI = app.newBoutonImage(app.getTexture("gui.png"),sf::IntRect(0,0,396,35),sf::IntRect(0,35,396,35),sf::IntRect(0,70,396,35),sf::Vector2f(50,50),4,10,app.getTexture("gui.png"),sf::IntRect(0,70,180,10));

    while (app.isOpen()) //Application::isOpen inclut les fonctions display, clear et drawGui
    {
        while (app.pollEvent()) //Application::pollEvent inclut la gestion de la fermeture de la fenêtre
        {
            if (CmEvent::clicLeft(app.getEvent()) && bouton.isHover(app.getWindowPtr()))
            {
                bouton.centerText("Bim! Centré!");
            }
            if (CmEvent::clicLeft(app.getEvent()) && boutonI.isHover(app.getWindowPtr()))
            {
                boutonI.centerImage();
            }
        }
    }
    return 0;
}
 

Comment ça marche :

Je crée mon Application qui contient donc la fenêtre et un CmGui (GuiManager). Quand je crée un bouton je le crée depuis la méthode de l'Application car elle me retourne le bouton mais ajoute aussi un pointeur vers celui-ci dans un tableau. Quand j'appelle ma fonction drawGui, les boutons testent le survol et s'affichent.

Donc j'explique certains de mes choix que vous pouvez trouver bizarre ou peu adapter :

- Passer la RenderWindow en pointeur à certaines fonctions : Je me sert habituellement beaucoup des pointeurs sur les Window dans des applications plus conséquentes, voilà pour ce choix.

- Le grand nombre d'argument pour créer un bouton : Je préfère mettre tous les paramètres d'un coup même si cela et un peu galère mais au moins c'est fait en une ligne et une fois que cette ligne est bien on est tranquille :)

Liste des classes :

- Application : Contient le CmGui et une RenderWindow
- ResourceManager : Stocke les Textures, Fonts, et SoundBuffers afin de ne les charger qu'une seule fois et d'y accèder facilement.
- CmGui : Classe qui gère un paquet de GuiObject pour l'affichage ou le survol
- GuiObject : Classe mère de tous les objets (Bouton,BoutonText,BoutonImage)
- Bouton : Hérite de GuiObject, classe mère de BoutonText et BoutonImage, affiche un bouton vide
- BoutonText : Hérite de Bouton, et rajoute un texte à l'intérieur du bouton
- BoutonImage : Hérite de Bouton, et rajoute une image à l'intérieur du bouton
- CmEvent : Hérite de sf::Event, peu utile je l'avoue mais reste pratique avec ses fonctions static pour les test des clic (un peu plus lisible)

Sources : http://charles.mailly.free.fr/CmGui.rar

Pourquoi poster quelques choses de pas fini, incomplet, et pas optimisé ?

En présentant mon "projet" je cherche à avoir des avis différents, de gens sûrement plus expérimenté que moi mais aussi des idées nouvelles, des améliorations....

Futur :

- Un constructeur Bouton() qui permet de définir des Boutons par défaut
- Un fichier (XML ou autres) afin de définir les propriétés d'un bouton dedans
- Rajouter des méthodes de manipulation pour les boutons
- Rajouter d'autres GuiObjects :
    - Zone de texte
    - Fond d'écran
    - HUD
- Réglé quelques bugs et optimiser au maximum :)

Voilà, je vous remercie d'avoir pris le temps de me lire, et je vous remercie d'avance pour vos idées d'améliorations et commentaires :)

PS : Ah oui aussi, je savais vraiment pas quoi prendre comme nom donc j'ai copié sur CEGUI en mettant mes initiales xD


24
Graphique / Problème de mathématiques ?
« le: Juillet 03, 2013, 02:23:40 am »
Bonjour,

je suis en train de mettre au point un peu truc avec la SFML mais je bute actuellement sur un petit problème...

J'essaye de faire pivoter un objet dans la direction de la souris.

sf::Vector2i pos = sf::Mouse::getPosition(window);
float diffx = fabs(pos.x - player.getOrigin().x);
float diffy = fabs(pos.y - player.getOrigin().y);
if(diffy == 0)
    diffy = 0,001; //0 est une valeur interdite !
float angle = atan(diffx/diffy) * 180 / PI; //#define PI 3.14159265
if(pos.x > player.getOrigin().x && pos.y < player.getOrigin().y)
    player.setRotation(angle);
else if(pos.x > player.getOrigin().x && pos.y > player.getOrigin().y)
    player.setRotation(90 + angle);
else if(pos.x < player.getOrigin().x && pos.y > player.getOrigin().y)
    player.setRotation(180 + angle);
else if(pos.x < player.getOrigin().x && pos.y < player.getOrigin().y)
    player.setRotation(360-angle);

Voilà, mais cet algorithme ne marche pas... pourtant je n'arrive pas à comprendre...
Les angles obtenus via atan sont en radian, je les passe donc en degré (ce qui est attendu par SFML)
Je pense avoir pensé à tout, à la valeur interdite pour la division, j'ai même fait des dessins, je vois pas le problème... Mais l'orientation de mon objet reste incohérente....

Merci d'avance :)

25
Graphique / RenderTarget et Bug
« le: Juin 13, 2013, 01:40:43 am »
Bonjour,

J'ai un petit problème avec une RenderWindow

J'ai compilé moi-même depuis les dernières sources donc "normalement" c'est bon de ce côté

Ensuite je n'ai aucune erreur sauf un plantage...

J'ai passé un coup de debugger et je suis tombé sur le fait que les fonctions clear/draw/display ne fonctionnaient pas....

J'ai été voir, ça vient donc de RenderTarget et de ça :     
if (activate(true))

J'ai essayé de corriger avec un :
window.setActive(true);
mais sans résultats...

Enfin bref... Merci d'avance :)

26
Réseau / Problème de création de socket [Résolu]
« le: Juin 12, 2013, 11:53:27 pm »
Bonjour,

J'ai un code qui déconne, je ne sais vraiment pas pourquoi...
Pourtant tout m'a l'air bien en ordre...

Voici le debugger :
#0 64D46D38     sf::Socket::create(this=0x131f) (C:\Users\Cmdu76\Downloads\SFML-master\src\SFML\Network\Socket.cpp:82)
#1 64D48029     sf::UdpSocket::bind(this=0x131f, port=28979) (C:\Users\Cmdu76\Downloads\SFML-master\src\SFML\Network\UdpSocket.cpp:70)

Voici mon code (mais je pense pas que ça vienne de là...) :
sf::UdpSocket socket;
    socket.bind(port);

27
Discussions générales / SFML Wizard pour Code::Block
« le: Juin 12, 2013, 07:48:40 pm »
Bonjour,

Je viens de modifier l'ancien wizard SFML (qui ne marchait pas) et maintenant il marche nikel
Avec ça, plus de galère (enfin surtout la première fois et encore...) et un gain de temps énorme !

Vous avez juste à suivre les instructions dans le ReadMe inclut dans l'archive RAR pour l'installer correctement
Ensuite l'utilisation, si vous ne savez pas ce qu'est un wizard dans Code::Block, vous allez dans File->New->Project... ici vous avez des icônes, vous descendez jusqu'à celle d'SFML, vous suivez et ensuite c'est fini !

J'ai aussi changé les images, notamment en mettant le nouveau logo, par contre celle nommée wizard.png elle est pas terrible (mais passable)

Aussi, il faut toujours copier les .dll, j'avais pensé mettre les miens directement mais ça rajoute du poids à l'archive et ça dépends de tellement de choses entre les différentes versions de compilo et autres..

Aussi, encore, j'ai mis des liens uniquement vers graphics, window et system, si vous voulez les autres faudra rajouter manuellement :)

Et aussi, je n'ai rien changé aux versions Unix et Mac, car je ne peux pas le tester...

Le lien : http://charles.mailly.free.fr/sfml-wizard-codeblock.rar

PS: Il est possible que ça existe déjà et que quelqu'un y ait déjà pensé avant moi, tant pis :)

Voilà :)


28
Bonjour,

J'ai eu cette idée, adapter la SFML sur les OS mobiles (iOS, Androïd, ...)

La SDL y arrive, j'ai déjà vu cela quelques part :)

Enfin bref, c'est juste une idée, après je comprends que ça représente du travail...

Voilà

29
Réseau / Message d'envoi
« le: Juin 01, 2013, 12:01:21 am »
Bonjour,

J'avais créer ce topic, résolu le problème, mais finalement un nouveau est apparu :

Quand j'envoit des strings en UDP côté client, le serveur les capte mal,
Exemple j'envoit : azerty
Le serveur recoit : azerxu
Il n'affiche que les 4 premières lettres et remplace le reste par xu...

Voici mon code envoit client et reception serveur :

Client :
std::getline(std::cin, msg); //msg est de type std::string
if (socket.send(msg.c_str(), sizeof(msg.c_str()), server, port) != sf::Socket::Done)
    return;
std::cout << "Client :" << msg << std::endl;
 

Serveur :
if (socket.receive(in, sizeof(in), received, sender, senderPort) != sf::Socket::Done) //in est le char in[] de l'exemple
    return;
std::cout << "Client :" << in << std::endl;

Je pense que le pb vient du fait du string/char[], mais je suis pas sur....

30
Graphique / RenderTexture et/ou VertexArray
« le: Mai 28, 2013, 06:37:53 pm »
Bonjour,

Je cherche un créer un algorithme de tilemapping, je connais vite fait les bases, c'est-à-dire View, Scrolling, Collision, Gestion d'un fichier de map, etc...

Mais j'ai quelques questions... :

1 - Pour afficher ma map, je dois mieux utiliser des RenderTexture ou des VertexArray ?
(Ou pourquoi pas des VertexArray de RenderTexture ?)

2 - Il y a-t-il une taille recommandée et maximale pour ces objets ?

3 - Quand je charge ma map, je charge tout d'un coup et je ne planterai pas car tout n'est pas afficher, ou je déclare petit à petit ? Je sais qu'une différence aura lieu lors du chargement, mais finalement vaut mieux perdre un peu de temps de chargement au début et pas buger dans le jeu

Enfin bref, merci d'avance ;)

anything