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

Pages: [1] 2 Suivante »
1
Général / Debug - SIGSEGV
« le: Mai 22, 2018, 06:50:07 pm »
Chers programmeurs,

Je me tourne vers vous pour une question théorique relative au débugage de mon code.

Ce code est basé sur le livre "SFML Game development by Example". En apparence, il fonctionne parfaitement, je n'ai aucun souci pour le compiler ou le faire tourner.

Toutefois, lorsque j'utilise le débug de Code::Blocks, il apparaît que j'ai deux erreurs "SIGSEGV - Segmentation fault" lorsque je ferme l'application. D'après mes renseignements, ces erreurs se produisent lorsqu'on déférence un pointeur null ou non alloué. Le débuger m'indique les méthodes générant ces erreurs, mais j'avoue cependant avoir du mal à les corriger.

Ma question est donc la suivante: Est-il essentiel de les corriger? Le programme est-il "viable" malgré ces deux erreurs détectées par le débuger?

Je vous remercie par avance pour votre aide.

Cordialement,

Phounet

2
Général / Re: Dimension variable d'une texture
« le: Novembre 03, 2017, 11:59:33 pm »
Merci pour ton aide. Cela m'a été utile ;)

Bonne soirée à toi,

Phounet

3
Général / Re: Dimension variable d'une texture
« le: Octobre 30, 2017, 07:51:43 pm »
En effet, il doit en exister d'autres, car après avoir utilisé "setScale", j'ai constaté que la qualité du rendu n'était pas acceptable. Je préfère donc utiliser la méthode que j'ai décrite plus haut, même si elle demande un peu plus de lignes de code.

Si quelqu'un a une idée de code qui pourrait fonctionner, je suis tout ouïe.

Bien à vous,

Phounet

4
Général / Re: Dimension variable d'une texture
« le: Octobre 29, 2017, 11:02:35 am »
Je comprends ce que tu veux dire et te remercie encore pour ta réponse.

Si c'est la manière de faire alors je vais procéder ainsi.

Bon dimanche à tous,

Phounet

5
Général / Re: Dimension variable d'une texture
« le: Octobre 27, 2017, 08:56:34 pm »
Je te remercie pour ta réponse !

J'ai toutefois une question par rapport au code que tu proposes:

Le fait d'utiliser la méthode "setScale" ne va-t-il pas entraîner l'étirement de la texture d'origine, et donc réduire la qualité de rendu à l'écran?

Très bonne soirée à toi,

Phounet

6
Général / Re: Dimension variable d'une texture
« le: Octobre 26, 2017, 09:11:13 pm »
Personne n'aurait une petite idée svp?

Et si je suis complètement à côté de la plaque, n'hésitez pas à me le dire non plus.

Merci ;)

7
Général / Dimension variable d'une texture
« le: Octobre 23, 2017, 07:59:28 pm »
Amis programmeurs,

Je sollicite votre aide pour le point suivant:

Comment gérer efficacement les textures d'une entité dont la taille n'est pas connue à l'avance?

Je m'explique: je souhaite créer une barre de défilement (i.e. Scrollbar) similaire à toutes celles que nous rencontrons habituellement. La taille de cette Scrollbar dépend de la longueur du contenu à afficher. Dès lors, comment puis-je efficacement gérer son apparence à l'écran?

Imaginons qu'au niveau de la texture, j'ai 3 tuiles:

|->

Si je dois créer une barre de dimension égale à 5, je vais avoir ceci:

|--->

On constate donc que j'ai tjs la tuile de "début" (i.e. | ) et la tuile de "fin" (i.e. > ). En fonction de la longueur, je rajoute le nombre de tuiles intermédiaires requis (i.e. - ).

Actuellement, dans mon code, ça fonctionne comme suit:

Je charge la tilesheet qui contient les 3 tuiles.
Je crée 3 sf::RectangleShape (i.e. un pour le début, un pour la fin, et un pour la partie intermédiaire variable). J'applique une tuile par RectangleShape, en m'assurant que ma texture peut se répéter pour la tuile du milieu. Ainsi, la tuile intermédiaire qui mesure 1 se répètera 3 fois dans un RectangleShape de taille 3.

Cela fonctionne, mais ça me semble affreusement lourd, voire tirer par les cheveux. Je voudrais donc savoir si l'un de vous à un meilleur moyen de gérer cela?

PS: Je ne souhaite pas utiliser la méthode "setScale" car si je ne dis pas de bêtise, cela va "étirer" ma texture de base et je risque donc de perdre en qualité de rendu (i.e. les pixels seront plus grossiers).

PS 2: Voici le code, au cas ce serait utile (ne prêtez pas attention aux constantes de taille et de positionnement, elles sont juste là temporairement)


    /* Texture */

    sf::IntRect topText(0, 0, 17, 4);
    sf::IntRect midText(0, 4, 17, 4);
    sf::IntRect lowText(0, 8, 17, 6);

    sf::Texture texture;
    if(!texture.loadFromFile("ScrollbarTexture.png"))
    {
        std::cout << "Erreur de chargement de l'image" << std::endl;
    }

    sf::FloatRect barSize(0.f, 0.f, 17.f, 100.f);
    sf::IntRect textureRect(barSize);
    texture.setRepeated(true);

    /* Sprite de Scrollbar */

    sf::Sprite barSprite;
    barSprite.setPosition(30.f, 30.f);

    /* RenderTexture */

    sf::RenderTexture renderTexture;
    renderTexture.create(barSize.width, barSize.height);

        renderTexture.clear(sf::Color(0, 0, 0, 0));

    sf::RectangleShape topRect;
    topRect.setSize(sf::Vector2f(barSize.width, 4.f));
    topRect.setTexture(&texture);
    topRect.setTextureRect(topText);

    sf::RectangleShape lowRect;
    lowRect.setSize(sf::Vector2f(barSize.width, 6.f));
    lowRect.setTexture(&texture);
    lowRect.setTextureRect(lowText);
    lowRect.setPosition(topRect.getPosition().x, topRect.getPosition().y + 91.f);

    sf::RectangleShape midRect;
    midRect.setSize(sf::Vector2f(barSize.width, barSize.height - topRect.getGlobalBounds().height - lowRect.getGlobalBounds().height));
    midRect.setTexture(&texture);
    midRect.setTextureRect(midText);
    midRect.setPosition(topRect.getPosition().x, topRect.getPosition().y + topRect.getGlobalBounds().height);

    renderTexture.draw(topRect);
    renderTexture.draw(midRect);
    renderTexture.draw(lowRect);

        renderTexture.display();

        /* Application de la RenderTexture au Sprite de Scrollbar */

        barSprite.setTexture(renderTexture.getTexture());
        barSprite.setTextureRect(textureRect);

8
Fenêtrage / Re: SFML cesse de fonctionner en fullscreen
« le: Mai 14, 2017, 04:50:38 pm »
Je viens de tester sur le laptop, ça fonctionne.

Le problème venait apparemment de la version 2.3.2 de la SFML. Si quelqu'un rencontre un jour le même problème que moi, la solution est donc d'utiliser la version 2.4.2 de la SFML.

Bien à vous,

Phounet

9
Fenêtrage / Re: SFML cesse de fonctionner en fullscreen
« le: Mai 14, 2017, 12:32:00 pm »
Alors, j'ai un peu galéré ces derniers jours, mais j'ai des bonnes nouvelles:

J'ai voulu tester mon code sur un autre PC. Du coup, tant qu'à réinstaller qqch, j'ai mis à jour CodeBlocks (version 13.12 sur le laptop, et ici j'ai pris la version 16.01) et SFML (i.e. j'ai installé la version 2.4.2 alors que sur le laptop, j'avais la version 2.3.2).Et là tout fonctionne. Le problème ne vient donc pas du code, mais potentiellement de 3 choses:

1° le laptop en lui-même (drivers, mises à jour diverses, etc);
2° la version 2.3.2. qui aurait un bug corrigé dans la version 2.4.2;
3° la version 13.12 de CodeBlocks mais honnêtement je ne pense pas que ça puisse avoir un impact sur mon programme.

Je vais poursuivre mes tests pour savoir pourquoi ça fonctionne sur ma tour et pas sur mon laptop, et je reviendrai ici pour l'expliquer, au cas où ça pourrait servir à qq'un.

Merci à toi en tout cas.

Phounet

10
Fenêtrage / Re: SFML cesse de fonctionner en fullscreen
« le: Mai 11, 2017, 10:09:49 pm »
Je te remercie pour ta réponse.

Toutefois, je viens de mettre à jour les pilotes de la carte graphique et de l'écran, et le problème persiste.

J'ai oublié de préciser que j'utilise Windows 7 en 64bits.

Si vous avez d'autres pistes, je suis preneur !

Merci à vous,

Phounet

11
Fenêtrage / [Resolu] SFML cesse de fonctionner en fullscreen
« le: Mai 11, 2017, 09:44:13 pm »
Amis programmeurs,

Pourriez-vous svp m'aider à résoudre le problème suivant:

Je développe un petit jeu en 2D, dont l'architecture globale est basée sur celle du livre SFML Game Development (celui dans lequel au final, on code un shooter 2D avec un petit avion ^^).

Tout fonctionne très bien, sauf lorsque j'utilise sf::Style::Fullscreen. C'est-à-dire que le jeu se lance, je peux voyager dans mes menus, etc. Mais lorsque je joue à proprement parler (i.e. lorsque je suis dans le "StatutJeuLive", qui utilise une classe "World" pour tout ce qui concerne la logique propre au jeu, exactement comme dans le livre cité ci-dessus), et que je dois vider le stack de statuts en fin de partie, le programme cesse de fonctionner.

Si je n'utilise pas le sf::Style::Fullscreen mais sf::Style::Close par exemple, tout fonctionne parfaitement sans problème.

Pensant que le problème venait de mon code, j'ai testé avec le code source fourni lorsqu'on achète le livre SFML, et j'ai exactement le même problème ! Je suis donc un peu perdu et souhaiterais obtenir vos lumières.

Je vous remercie d'avance.

Bien à vous,

Phounet

12
Général / Re : SFML et Qt
« le: Décembre 18, 2015, 10:54:04 pm »
Laurent,

Je te remercie pour ta réponse. J'ai vu ce poste sur le forum anglais... mais le truc c'est que je débute en programmation et là, tout ca est trop compliqué pour moi.

Je voudrais pouvoir évoluer à mon rythme et commencer par les bases. C'est pour cela que je voudrais vraiment qu'on m'explique une à une les étapes pour pouvoir utiliser Qt et SFML avec un code ultra minimal.

Si quelqu'un se sentait de faire ça, je lui en serais très reconnaissant.

Merci d'avance.

13
Général / SFML et Qt
« le: Décembre 18, 2015, 09:45:06 pm »
Bonjour à tous,

Je galère depuis un bon moment à essayer d'utiliser SFML et Qt ensemble. N'y parvenant pas, je fais appel à vous.

Du coup, est-ce que quelqu'un de très aimable pourrait me prendre par la main et me dire précisément chaque étape nécessaire (depuis le début) pour arriver à les utiliser ensemble?

Pour info, je suis sur Windows, j'utilise SFML 2.3.2 et Qt Creator 5.5 (minGW 4.9.2).

Merci d'avance au courageux qui acceptera de m'aider !

Phounet

14
Général / Re : Le processeur tourne à fond
« le: Septembre 18, 2015, 09:43:15 pm »
En effet, mon problème est très similaire à celui mentionné dans le poste que tu as renseigné.

Il y est dit que c'est résolu. Pourtant, on dirait que ce ne l'est pas.

Laurent, penses-tu que ce soit possible?

Je vous remercie pour vos interventions.

Phounet

15
Général / Re : Le processeur tourne à fond
« le: Septembre 15, 2015, 10:40:38 pm »
Je te remercie pour ta réponse.

Je suis sur Windows 7 en 64 bits, processeur i5-2520M, 8Go de RAM, SFML 2.3.1 sur CodeBlocks. Niveau hardware, je suis sur un portable Lenovo T520 (ce n'est pas tout neuf...ancienne machine du travail). Niveau carte graphique c'est limite.

Le problème est que si je ne limite pas le framerate, la batterie du laptop se vide très rapidement. Du coup, je limite le FPS à 480 (par exemple), et là niveau utilisation du CPU et de la batterie ça va. Le souci se situe sur la fluidité: la barre se "téléporte" très légèrement mais suffisamment pour que cela soit visible à l'oeil et donne un rendu très désagréable.

Le truc qui me paraît vraiment trop bizarre, ce que si j'ai autre chose qui tourne en plus de mon application (typiquement YouTube), alors la barre se déplace de manière tout à fait fluide.

Je pense donc que le souci se situe plus au niveau du hardware que du code pur, mais j'aimerais comprendre d'où vient le problème.

Merci d'avance à ceux qui pourront m'aider.

Phounet

Pages: [1] 2 Suivante »