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 - Scol-Ben

Pages: [1]
1
Salut, je me suis permit d'utiliser ton système pour apprendre sur le réseau.

J'ai donc copier/coller ton code et essayé de le modifier pour ne pas avoir l'erreur que tu avais, le problème c'est que j'ai fait une allocation dynamic pour ne pas détruire le socket.

J'ai fait ceci :

vector<TcpSocket> m_socketVector; // La déclaration du tableau est hors du main.

TcpSocket *p_socket = new TcpSocket; // Je crée un pointeur pour faire une allocation dynamic.
m_socketVector.push_back(p_socket); // Ici j'incrémente mon tableau avec la valeur de mon pointeur qui pointe vers l'adresse du socket.
if(listener.accept(m_socketVector[readyClients]) != sf::Socket::Done) // Ici j'ai enlevé le '*' parce-que je ne comprend pas pourquoi il fallait l'adresse de la case mémoire du tableau alors que la valeur c'est l'adresse du socket.
{
    cout << "Aucun client essai de rejoindre le réseau." << endl;
}

Mais lorsque je compile, j'ai pas mal d'erreur par rapport au vector du genre :
Erreur  1       error C2664: 'void std::vector<_Ty>::push_back(sf::TcpSocket &&)' : impossible de convertir le paramètre 1 de 'sf::TcpSocket *' en 'sf::TcpSocket &&'.

J'ai alors modifié ceci :
m_socketVector.push_back(*p_socket);

Et maintenant la seule erreur est celle-ci :
Erreur  1       error C2248: 'sf::NonCopyable::NonCopyable' : impossible d'accéder à private membre déclaré(e) dans la classe 'sf::NonCopyable'.

Donc voilà je voulais savoir, pourquoi dans ton code tu stockes l'adresse du socker. Et aussi savoir pourquoi j'ai cette erreur lorsque je mais dans mon tableau la valeur du socket.

2
Réseau / Re : Envoyer et recevoir des données problème
« le: Août 13, 2014, 08:05:25 pm »
D'accord, merci.

3
Réseau / Re : Envoyer et recevoir des données problème
« le: Août 13, 2014, 01:42:07 pm »
Bonjour, je commence petit à petit à comprendre mais, j'aurai une question :

Est-ce que il faut faire une boucle infinie pour recevoir côté client et serveur ?

4
Réseau / Re : Envoyer et recevoir des données problème
« le: Août 11, 2014, 05:04:16 pm »
Non je n'ai pas regardé, mais ce n'est pas des projets en open source, c'est juste des présentations.

Je ne suis pas trop doué non plus en anglais.
Pour le moment je vais faire une pause, ce soir je me remet à chercher pour les exemples de jeu en réseau.

5
Réseau / Re : Envoyer et recevoir des données problème
« le: Août 11, 2014, 03:16:27 pm »
Ok merci, dans ce cas je vais essayer de faire plusieurs joueurs sur mon nouveau projet une fois qu'il sera au minimum jouable solo, mais j'ai assez du mal avec le réseau.

En même temps j'irai chercher des programmes d'exemple (C'est plutôt rare de trouver des mini jeux en open source C++/SFML qui utilise le multijoueur).

6
Réseau / Re : Envoyer et recevoir des données problème
« le: Août 11, 2014, 01:48:05 pm »
D'accord, je te remercie de m'avoir aidé.
Je vais refaire un projet à 0. (Cette fois-ci je vais utilisé tout ce qu'il faut pour être ordonnée).

Par-contre, j'aurai encore quelques questions mais je vais en poser une seule pour le moment pour ne pas trop te déranger.

Donc c'est toujours avec le réseau je n'ai pas compris, admet-ont que je crée une classe qui se nomme 'Personnage joueur1' ceci fonctionne, mais si j'ai bien compris une fois que le client rejoint le serveur il faut faire quoi ?

Créer un nouveau objet 'Personnage joueur2' ??

Et l'utiliser uniquement lorsque nous avons rejoint le serveur, mais dans ce cas comment le serveur doit réagir ? (Lui aussi doit avoir l'objet 'Personnage joueur2' en quelque sorte ça donne ça :

Serveur : Joueur1 = serveur et joueur2 = client ainsi suite.
Client : Ici on inverse, joueur1 = client et joueur2 = serveur.

Je ne sais pas si j'explique bien ma question, ou sinon un deuxième joueur doit t-il utilisé son objet joueur 1 et de même pour le client ?

Mais dans ce cas comment l'afficher ?

Merci.

7
Réseau / Mon code
« le: Août 11, 2014, 01:16:46 pm »
Ah excuse moi, je n'avais pas compris que je devais montrer mon code ^^

Par-contre ce n'est pas du tout ordonnée, j'utilise pas de fonction, n'y d'autre fichier et pas de classe. (Oui c'est pour m’entraîner avec la SFML 2.1)

Voici mon main et les variables au complet :

(click to show/hide)

À l'intérieur de la boucle principale dans les événements, c'est ici que l'on choisit d'être le serveur ou client.

8
Réseau / Re : Envoyer et recevoir des données problème
« le: Août 11, 2014, 12:31:27 am »
J'ai cherché comment bien utiliser les données en réseau, surtout les exemples.

Rien que le faite de voir le personnage de l'autre PC sa m'aiderai énormément, mais je ne sais pas ou placer pour recevoir et envoyer des donnés n'y comment les utilisés (Je parle pour simplement envoyé un text à l'autre etc...)

Je ne sais pas si tu as compris ce que j'essai d'expliquer.

9
Réseau / Envoyer et recevoir des données problème
« le: Août 10, 2014, 11:26:53 pm »
Bonsoir, voilà j'ai crée un petit jeu 2D pour m’entraîner, dans mon jeu la seule chose que l'on peut faire c'est déplacer un personnage avec des animations.

Donc je voudrais pouvoir mettre un place système multijoueur, alors j'ai donc suivit le tutoriel, j'ai fait en sorte que si l'utilisateur appuis sur S sa crée le serveur. et si un autre appuis sur C sa se connecte en tant que client.

J'ai essayé, sa fonctionne, je suis bien connecté avec le 2ème PC en local.

Maintenant je ne comprend pas comment je pourrais faire en sorte de voir le personnage du PC serveur et de même pour lui, c'est pareille pour les animations, je voudrais envoyé des donnés par rapport à ma position, afficher le personnage et les animations lorsque qu'il appuis sur les déplacements, comme si je jouer seule.

Mais je ne comprend pas comment sa fonctionne de recevoir et envoyé des donnés.

Faut-il crée plusieurs personnage ?
Actuellement je sais que 'socket.send' permet d'envoyé des données et 'socket.receive' permet d'en recevoir, mais ou est-ce que je doit les placers ?

Si vous auriez un exemple rapide, je vous en serai reconnaissant.
Merci à vous.

10
Général / Re : Convertir time en float
« le: Août 09, 2014, 04:00:26 pm »
Dernier message, car la sinon je vais trop flooder.

J'ai finalement réussi, il fallait que je passe ma variable 'deplacement' à '200.0' maintenant mon sprite se déplace à une vitesse normale et j'ai testé de limité mon FPS à 10, au final sa fonctionne comme je le souhaité.

Merci.

11
Général / Re : Convertir time en float
« le: Août 09, 2014, 03:52:28 pm »
Pour ma question je n'ai pas réfléchit, encore une fois je suis désoler, car j'ai oublié mais ma variable 'deplacementFPS' fessait une une sorte d'incrémentation '+=' alors j'ai changé par '=' mais maintenant mon personnage court très très lentement, pourtant la vitesse est de '3.0' * par 'frameTime.asSeconds()' logiquement mon sprite devrais avancer de 3 pixels * 'frameTime.asSeconds()' mais la j'avance à peine de 1 pixel, je sais même pas.

Sinon fallait t-il bien réinitialiser le chrono à 0 à la fin de ma boucle ?

12
Général / Re : Convertir time en float
« le: Août 09, 2014, 03:45:56 pm »
Autant pour moi ^^

Donc au final sa revient au même si sa aurais fonctionné comme ceci :

deplacementFPS += deplacement * frameTime;

Que ceci :

deplacementFPS += deplacement * frameTime.asSeconds();

? Sinon j'ai une petite question, lorsque je déplace mon sprite au début il va à une bonne vitesse mais plus il fait de tour dans la boucle principale, plus mon sprite va très vite.

Pourtant j'ai bien utilisé juste après :
clock.restart();

Merci.

PS : Je n'ai pas comprit ce que tu me propose de chercher par rapport avec SDK x)

13
Général / Re : Convertir time en float
« le: Août 08, 2014, 11:07:11 pm »
Parce-que je l'ai déjà lu, après j'ai quand même encore du mal à le comprendre mais si tu regardes mon code c'est la même chose.

Mise à part dans le tutoriel à la fin il appel une fonction "updateGame(elapsed);" et je ne sais pas ce qu'elle contient.

Mon code est correct en ce qui concerne le chrono, etc... c'est juste par rapport au mouvement de mon sprite, les paramètres de la fonction son de type float.

14
Général / Convertir time en float
« le: Août 08, 2014, 10:20:19 pm »
Bonsoir, avant de parler de mon problème, je ne sais pas du tout si je suis dans la bonne section et aussi j'ai posté mon problème ici car j'utilise un objet Time qui est utilisé avec SFML.

Voilà je souhaite convertir l'objet Time en Float car je souhaite faire en sorte de gérer la vitesse de mon application pour éviter les problèmes de vitesse entre deux config n'ayant pas les mêmes vitesses pour afficher une image/sec. (Je sais pas si vous avez compris ^^)

const int deplacement;
float deplacementFPS;

Clock clock;
while(window.isOpen())
{
       window.clear();
       ....
       Time frameTime = clock.restart();
       deplacementFPS += deplacement * frameTime;
}

Et ensuite utiliser la méthode move :

monSprite.move(0.0, -deplacementFPS); // Ceci est un exemple.

Merci de votre aide.

PS : encore une fois si le nom de mon sujet ne correspond pas à mon problème ou s'il n'est pas aux bons endroits merci de me le dire j'éditerai.

Pages: [1]