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

Pages: [1]
1
Système / Re : Classes et thread ?
« le: Mai 10, 2016, 01:37:45 pm »
Ouai ! J'avais remarquer que cela marchait comme une fonction et j'avais essayer de passer ne paramètre la box de collision un peu comme l'exemple de la doc
void func(int x)
{
}

sf::Thread thread(&func, 5);

donc ce qui me donnait ça pour mes deux box de collisions

        sf::Thread thread(&detectionThread, sf::FloatRect collisionMonstre);
        //Lancement du thread de détection
        thread.launch(monstreDebug.getCollision());

sauf qu'il n'accepte pas ce paramètre alors que pour la création de classe il accepte bien pour une méthode un truc de ce style
        sf::FloatRect getCollision();

j'ai peur de ne pas être assez clair et je suis assez perdu dessus tu aurais des pistes (pas le code direct juste des piste) ? :D. (bien que ça ne me bloque pas vu que je fous les détections dans le main mais bon je voudrais bien test de mettre ça dans le thread)

et merci déjà pour tes réponses rapide Laurent :D

2
Système / Re : Classes et thread ?
« le: Mai 10, 2016, 12:05:21 pm »
Broaf désoler j'étais un peu dans les vapes en tapant ça ^^"

En gros dans le main thread je "déclare/crée" tranquillement mes classes et je lance mon thread juste après pour la détection des collisions.

Sauf que lorsque je tape du code dans le thread de collision il veut pas que j'accède au attribut de celui-ci il veut que je déclare dans le thread de la collision les classes pour les utiliser

j'arrives pas à mettre ça

void detectionThread()
{
        if (joueur.getCollision().intersects(monstreDebug.getCollision()))
        {
                cout << "collision" << endl;
        }
}

il voudrait en gros :

        joueur joueur(window.getSize().x, window.getSize().y);
        MonstreDebug monstreDebug(window.getSize().x, window.getSize().y);

        if (joueur.getCollision().intersects(monstreDebug.getCollision()))
        {
                cout << "collision" << endl;
        }

sauf que window est pas définie dans le second thread il voudrait que je redéclare etc..
j'arrive a accéder a aucune variable du thread principal alors que lorsque je regarde la doc (http://www.sfml-dev.org/tutorials/2.3/system-thread-fr.php ça évite de vous recherchez le lien :p) "Tous les threads d'un programme partagent la même mémoire, ils peuvent accéder à toutes les variables du programme. C'est très pratique mais aussi dangereux [...]"
je comprend plus :'(

3
Système / Classes et thread ?
« le: Mai 10, 2016, 03:31:35 am »
Salut tout le monde ! :D

Je me suis mis tranquillement au C++ et la sfml et je fais un petit rpg rapido pour me faire la main, et là je bloque au niveau de la collision et des thread  :o

en gros je voudrais dédier un thread pour la collision pour tout le jeu, ce qui allégerais le programme en gros, sauf que lorsque je tape ce qu'il faut pour la collision il veut que je crée la classe avant ._. sachant qu'elle est créer dans le main

void detectionThread()
{
        if (joueur.getCollision().intersects(monstreDebug.getCollision()))
        {
                cout << "collision" << endl;
        }
}

Après moulte recherche je n'ai pas trouvé :'(
Donc j'ai tous foutus dans le main et ça marche mais je voudrais bien savoir sur quoi je butes siouplé :)

Pages: [1]