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

Pages: [1]
1
Réseau / [Résolu] Entiers à taille fixe
« le: Octobre 02, 2019, 10:11:54 pm »
Bonjour à tous,
Je suis en train de faire un système de serveur-client pour Portal 2 en modifiant un plugin existant (https://github.com/NeKzor/SourceAutoRecord).
Le problème est que je sois envoyer un ID depuis le serveur vers les clients, j'utilise donc sf::Uint32 et je le stocke dans l'ID d'une entité. Le soucis, c'est que j'aimerais éviter de modifier cette entité en définissant l'ID comme étant un sf::Uint32. J'aurais voulu le laisser comme un unsigned int.

Ma question est donc : Puis-je convertir un sf::Uint32 en (unsigned) int sans problème (du genre : int a = sf::Uint32(42)) vu que ce ne sont que des typedefs ou est-ce que je dois effectuer d'autres opérations avant ?

Également, en cherchant une réponse sur ce forum, je suis tombé sur ce thread : https://fr.sfml-dev.org/forums/index.php?topic=20843.msg149420#msg149420

Du coup, est-ce que je devrais utiliser int32_t ou sf::Uint32 de préférence pour les envois par réseau ?


Merci d'avance :)

2
Graphique / afficher std::vector<sf::RectangleShape>
« le: Septembre 15, 2017, 05:15:37 pm »
Bonjour,
Je suis en train d'essayer de réaliser un tout simple Conway's game of life.
J'aimerais créer des cellules composées dans un premier temps de sf::RectangleShape le tout contenu dans std::vector.

Problème, lors de l'appel de la fonction window.draw(), rien ne s'affiche.
Voici la partie qui cause problème:

#include <SFML/Graphics.hpp>
#include <iostream>

using namespace std;

int main()
{
    int windowX = 800, windowY = 600, gridSize = 10;
    sf::RenderWindow window(sf::VideoMode(windowX, windowY), "Game of Life");

    //Rectangle qui sera inséré dans le vector
    sf::RectangleShape rect;
    rect.setFillColor(sf::Color(250, 0, 0));
    rect.setScale(gridSize, gridSize);

    vector<sf::RectangleShape> rectArray;

    for(int y(0); y < windowY; y += gridSize)
    {
        for(int x(0); x < windowX; x += gridSize)
        {
            rect.setPosition(x, y); //Position de chaque cellules de la grille
            rectArray.push_back(rect);
        }
    }


        window.clear();

        for(vector<sf::RectangleShape>::iterator it = rectArray.begin(); it != rectArray.end(); it++)
            window.draw(*it);

        window.display();

        while (window.isOpen())
        {
                sf::Event event;
                while (window.pollEvent(event))
                {
                        if (event.type == sf::Event::Closed)
                                window.close();
                }

        }

        return 0;
}
 

Cette manière de faire est provisoire car je pense que je passerai par un sf::VertexArray au final, mais je voudrais quand même comprendre.

Pourriez-vous m'aider ?

Merci d'avance

Pages: [1]