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

46
Graphique / Re : Bug dans sf::RenderWindow::create ?
« le: Mai 08, 2014, 04:49:14 pm »
Et je sais toujours pas mettre un thread en résolu d'ailleurs...
Édite le premier message de ce sujet pour changer le titre.

47
Graphique / Re : Bug dans sf::RenderWindow::create ?
« le: Mai 08, 2014, 12:09:25 pm »
Ce bug a déjà été signalé et résolu il y a un mois : https://github.com/SFML/SFML/issues/564
Es-tu sur d'avoir la dernière version de SFML ?

48
Général / Re : Conversion coordonnées
« le: Mai 01, 2014, 01:03:02 pm »
Bonjour,

Plus simplement, on peut inverser le système d'équations:
x = w / 2 * (i + j)
y = h / 2 * (i - j)

Comme w et h sont non nuls, on peut diviser par w et h:
x / w = (i + j) /2
y / h = (i - j) / 2

En formant la somme et la différence de ces quantités:
i = x / w + y / h
j = x / w - y / h

Voilà.

49
Graphique / Re : [Résolu] Problème étrange sf::Color
« le: Avril 16, 2014, 07:57:50 pm »
Pourquoi ne pas utiliser des références ?

const sf::Color& selectState = sf::Color::Blue;

50
Graphique / Re : Vertex qui prend la mauvaise couleur
« le: Mars 31, 2014, 05:58:09 pm »
Bonjour,
Attention aux indices. Les tableau sont indexés à partir de 0 et pas 1.

51
Réseau / Re : Problème dans le système d'écoute côté serveur
« le: Mars 19, 2014, 08:51:47 pm »
Il y a un premier problème ici:

if(selector.isReady(*clientCurrentList))
{
    // Ici, le client est prêt à recevoir donc receive sera fait sans attendre.
    if(clientCurrentList->receive(packet) == sf::Socket::Done)
        // ...

    // À ce moment là, le client n'a probablement rien reçu d'autre
    // donc un nouvel appel à receive va bloquer le programme.
    else if(clientCurrentList->receive(packet) == sf::Socket::Error)
        // ...
}

Il ne faut appeler receive qu'une seule fois.
Tu peux procéder ainsi:
if(selector.isReady(*clientCurrentList))
{
    sf::Socket::Status status = clientCurrentList->receive(packet);
    if(status == sf::Socket::Done)
        // ...
    else if(status == sf::Socket::Error)
        // ...
}

Autre remarque:
Ta façon d'ajouter les clients est plutôt bizarre. Tu ajoutes le client en fin de liste puis tu le cherches dans ta liste, alors qu'il est à disposition.
Pourquoi pas simplement:
std::cout << "Client IP : " << client->getRemoteAddress() << " connected" << std::endl;
selector.add(*client);
clientList.emplace_back(std::move(client));

52
Graphique / Re : Divisé deux textures.
« le: Mars 15, 2014, 03:33:03 pm »
Cela peut être utile:
Documentation GIMP

53
Graphique / Re : Problème bizarre
« le: Mars 02, 2014, 11:49:55 am »
Bonjour,

À la fin de la boucle principale, il y a:
Citer
window.close();
Lors de la première itération, la fenêtre est fermée et la condition de la boucle n'est donc plus vérifiée. Le programme se termine.
Il faut retirer cette ligne.

54
Graphique / Re : Soucis avec sf::Drawable
« le: Février 01, 2014, 11:22:02 am »
Bonjour,

draw est une méthode de RenderTarget.
De plus, il faut passer en paramètre le RenderStates pour que la transformation et la texture choisies soient prises en compte.

target.draw(m_array, states);

PS
Tu as besoin dans ton cas d'appliquer uniquement la transformation à ton VertexArray. Pour cela, il suffit de passer states.transform en paramètre à draw.
target.draw(m_array, states.transform);

55
Graphique / Re : Transparence "uniforme" pour deux images transparentes
« le: Janvier 16, 2014, 10:41:28 pm »
Bonsoir
Tu pourrais dessiner seulement les faces des cubes si elles sont directement visibles.
Tu pourrais aussi dessiner ton personnage en transparence par dessus le mur mais on ne verrait pas autour du personnage.

56
Graphique / Re : Récuperé le sf::VertexArray d'un sf::Text
« le: Janvier 13, 2014, 09:44:47 pm »
Bonsoir,

Pourquoi ne pas stocker un tableau de pointeurs sur des sf::Drawable tout simplement ?
C'est bien tout ce qui peut être dessiné comme son nom l'indique.
De plus on peut très bien concevoir des entités pouvant être dessinées sans pour autant qu'elle ne contienne de sf::VertexArray.

57
Général / Re : ConvexShape ne prends pas les couleurs
« le: Janvier 09, 2014, 09:11:22 pm »
Si tu veux optimiser, saches que tu n'as pas besoin de stocker les points dans ta classe. La classe sf::Shape remplit déjà ce rôle. Il suffit que la méthode getPoint de ta classe calcule la position d'un point d'indice donné.

58
Général / Re : ConvexShape ne prends pas les couleurs
« le: Janvier 09, 2014, 06:40:01 pm »
Si ta classe hérite de sf::Shape, tu n'as pas besoin du membre m_shape.
D'après la documentation de sf::Shape,
Citer
You can write your own derived shape class, there are only two virtual functions to override:
  • getPointCount must return the number of points of the shape
  • getPoint must return the points of the shape

59
Général / Re : Objet invisible
« le: Janvier 01, 2014, 01:21:01 pm »
Bonjour,
Outre le fait que c'est sale (comme tu l'as remarqué), tu as oublié l'appel à display dans ta boucle.

60
Il me semble que cette façon de gérer les évènements déclencheurs est un peu limitée en particulier lorsqu'il s'agit de détecter si la souris est dans une zone de la fenêtre. Il faudrait autant d'évènements déclencheurs que de pixels dans la zone. Il faut probablement que tu fasses ta propre classe pour les évènements déclencheurs.

Par exemple:
class Trigger
{
        public:
                virtual bool match(const sf::Event&) = 0;
};

class MouseMove : public Trigger
{
        public:
                MouseMove(const sf::IntRect& r) : m_rect(r) {}

                virtual bool match(const sf::Event& e)
                {
                        return e.type == sf::Event::MouseMoved && m_rect.contains(e.mouseMove.x, e.mouseMove.y);
                }

        private:
                sf::IntRect m_rect;
};

// etc

anything