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

Pages: [1]
1
Général / Re: Boucle while et SFML
« le: Mai 06, 2019, 08:36:17 pm »
Je comptais tester la solution numéro 2 avant de poster, ça me rassure :D

Encore merci pour la réponse super rapide, j'ai plus qu'à m'accrocher et aller regarder du côté des threads :)

2
Général / Boucle while et SFML
« le: Mai 05, 2019, 04:14:30 pm »
Bonjour à tous, bon dimanche :D

J'ai une question qui va sembler bête pour certains (beaucoup) d'entre vous mais pour rappel je me suis mis au c++ et à la sfml en auto-formation en dehors du travail j'acquiers certains réflexes qu'avec le temps  ;D

Je me demandais comment utiliser un while ou une fonction récursive avec la SFML, j'ai un programme qui ne réponds pas à cause d'un algorithme flood fill, ça doit être dû au fait que le programme se réactualise constamment dans le while(window.isOpen) ce qui pose problème avec la boucle...

Pourriez vous m'éclaircir le problème et me donner des pistes pour m'aider à avancer ?

3
J'ai suivi ton conseil, j'ai chargé tous les buffers et mêmes tous les sounds au lancement du programme, tout fonctionne parfaitement, merci pour les conseils ;)

4
Merci pour le commentaire, je te tiens au courant une fois le code retouché :D
Je vais déjà corriger le soucis du loadFromFile, pour ce qui est de l'appel à la fonction soundPlayer à chaque frame, théoriquement si l'appel et dans le main ça devrait être appelé à chaque fois non ?

Désolé en fait je fais ça en autodidacte en parallèle du travail ou autre quand j'ai le temps, il y a pas mal de réflexes que j'ai pas forcement acquis :s

5
Tes sf::Sound et sf::SoundBuffer sont déclarés localement dans la fonction soundPlayer et sont donc détruits à la fin de celle-ci. Et quand ils sont détruits le son s'arrête, il faut donc les déclarer ailleurs où ils auront une durée de vie plus longue.

En ce qui concerne ton isButtonPressed, il est peut être bizarrement placé mais suivant comment tu fais le reste qu'on voit pas ça peut marcher. Donc je ne sais pas mais c'est plutôt facile de savoir si tu rentres dans ce if ou pas :p

Désolé pour le double post mais je me demandais ce que tu entendais par "en ce qui concerne ton isButtonPressed, il est peut être bizarrement placé" ?

6
Le problème c'est que j'ai tenté avec un vector<sf::SoundBuffer> que j'ai rempli avec un for(), je l'envoie dans la fonction mais le son ne se joue toujours pas :/


7
Bonsoir,
désolé pour le titre à rallonge, je me dis que ça peut aider quelqu'un plus tard :D

Je vous explique, ça serait pour un projet de jeu éducatif, grosso modo en fonction de la position de la souris, cela va envoyer une valeur à la fonction qui suit afin de donner le chemin du fichier audio à charger et si la personne clique, le son est sensé se jouer.

Cependant cela ne marche pas et j'aimerais savoir si quelqu'un pourrait éclairer ma lanterne (je précise que le fichier audio a été testé dans un autre programme, il se lit normalement), je me demande si c'est pas le if avec le sf::Mouse::... étant donné que c'est une condition brève, je ne sais pas comment faire...

void soundPlayer(int &soundNumber)
{
    sf::SoundBuffer buffer;


    ostringstream pathBuilder;
    string path;

    pathBuilder << "files/" << soundNumber << ".wav";
    path = pathBuilder.str();

    if(!buffer.loadFromFile(path))
    cerr << "Erreur lors du chargement de " << path << endl;

    pathBuilder.str("");

    sf::Sound sound(buffer);

    if(sf::Mouse::isButtonPressed(sf::Mouse::Left))
    sound.play();

}
 

Désolé si la question a déjà été posée j'ai fait une recherche mais je ne suis pas retombé sur ce cas précis :(

8
Fenêtrage / Re: Fenêtre se ferme immédiatement
« le: Octobre 26, 2018, 03:49:51 pm »
Salut,
j'ai finalement fait la manip, j'ai installé la sfml via cmake, tout se passait bien par contre j'ai vouleu changé les options (désactiver build_shared_libs) alors j'ai refait toute la manip, depuis j'ai que des référence indéfinie pour toutes les lignes types "sf::..." par contre si je compile via le terminal tout se passe bien, quelle erreur j'ai bien pu faire ? xD

9
Fenêtrage / Re: Fenêtre se ferme immédiatement
« le: Octobre 17, 2018, 10:22:39 am »
Ah, je pensais que ça l'aurait pris automatiquement avec la liaison #include, va savoir pourquoi je pensais ça   ::)

T'aurais un système de build ?  me recommander ? Ou si ya moyen de faire ça depuis code blocks (sous windows j'arrive ?  compiler de la sfml depuis l'ide mais linux non, je ne sais pas pourquoi) ? :)

Merci pour tes réponses, t'es toujours l?  pour aider ;D

10
Fenêtrage / Re: Fenêtre se ferme immédiatement
« le: Octobre 16, 2018, 07:27:48 pm »
Désolé je n'ai pas pu répondre avant, le problème ne persiste plus depuis que j'ai fait la maj linux, donc je ne peut malheureusement pas te donner plus d'explications.

Par contre j'ai eu un autre soucis que je n'ai jamais eu sous windows (encore une fois, je suis tout nouveau sur linux, désolé :( ), quand je compile j'ai le message suivant :

Citer
zeonsoldier@zeonsoldier-GL62-6QF:~$ cd c++/Projet\ Noun
zeonsoldier@zeonsoldier-GL62-6QF:~/c++/Projet Noun$ g++ main.o -o sfml-app -lsfml-graphics -lsfml-window -lsfml-system
main.o? : Dans la fonction «? main? »? :
main.cpp:(.text+0x148)? : référence indéfinie vers «? textureLoading(sf::RenderWindow&)? »
collect2: error: ld returned 1 exit status

Quand je build sous code blocks :
Citer
-------------- Build: Debug in Projet Noun (compiler: GNU GCC Compiler)---------------

g++ -L../SFML-2.5.0/lib -o "bin/Debug/Projet Noun" obj/Debug/main.o obj/Debug/textureLoading.o   -lsfml-graphics -lsfml-window -lsfml-system
Output file is bin/Debug/Projet Noun with size 146.23 KB
Process terminated with status 0 (0 minute(s), 0 second(s))
0 error(s), 0 warning(s) (0 minute(s), 0 second(s))

J'ai un main.cpp, et un textureLoading.cpp/.h, rien d'autre, je ne comprends pas :s

11
Fenêtrage / Fenêtre se ferme immédiatement
« le: Septembre 26, 2018, 10:33:55 pm »
Bonsoir,
je vais sûrement vous ennuyer avec un problème de base mais j'ai repris la programmation mais cette fois-ci sous linux.
J'ai suivi le tuto suivant pour voir comment utiliser la librairie sfml depuis ubuntu.
https://www.sfml-dev.org/tutorials/2.5/start-linux-fr.php

Malheureusement  quand je compile le logiciel la fenêtre se ferme sur le champs alors que quand je lis le code (j'espère que ma mémoire n'a pas rouillé  ;D ) il est sensé se fermer une fois que je clique sur la croix.

Je suis désolé, ça dois vous sembler simple mais je suis nouveau sur linux :(

12
Fenêtrage / Re: Problème dimension fenêtre
« le: Janvier 04, 2018, 03:31:03 pm »
Oui, désolé, effectivement ce n'étais pas clair...
J'ai affiché un sprite dans la fenêtre, ainsi que ses coordonnées (dans la console), je l'ai déplacé jusque dans le coin en bas à droite, je voulais savoir si ce dernier représentait vraiment la position (800,600) mais il semble que ça ne soit pas le cas, tu y as répondu.

Citer
(le tout dernier pixel dans le coin bas-droit a pour coordonnées (799, 599))
Du coup à quoi est dû ce décalage (désolé, ça peut paraître être une question bête mais je suis débutant et ça m'intrigue ^^) ?


13
Fenêtrage / Problème dimension fenêtre
« le: Janvier 04, 2018, 05:02:19 am »
Bonsoir- ou bon matin je suppose  ;D

J'ai un petit soucis lié au dimension de ma fenêtre (800*600), en effet, mes angles sont situés hors fenêtre, un screen parlera mieux, mon sprite qui est en 800,600 ne s'affiche pas, il est sorti du cadre.

https://img15.hostingpics.net/pics/288631problmeWindow.png

Pourriez vous m'aider à faire en sorte que les coin de la fenêtre soient les coins effectifs du code ? :)

Voilà mon mon code lié à la déclaration de la fenêtre.
sf::RenderWindow window;

int main()
{
window.create(sf::VideoMode(800,600), "Projet RPG");
}

Amicalement :)

Pages: [1]
anything