Partage
  • Partager sur Facebook
  • Partager sur Twitter

Souci avec SDL_Thread

les variables s'affolent ...

Sujet résolu
    26 avril 2008 à 21:00:04

    Bonsoir à tous,

    j'ai un petit souci avec mon code, c'est du C++ et j'utilise la SDL (jusque là je vous apprends rien au vu du titre et du forum ^^ ). Voilà le problème :

    mon programme crée un objet Cyclone, puis j'appelle la méthode "lancerAnim" dont je vous mets la déclaration :

    void lancerAnim(Animation* anim){
    		
       SDL_Thread* animThread;
    animThread = SDL_CreateThread(animer, &anim);
    
    
    }
    


    la fonction animer, qui est appelée par lancerAnim, est codée juste au dessus de lancerAnim :

    int animer(void* parametre)
    {
    		/* Le paramètre est converti dans le type réel voulu*/
    		Animation* Cyclone = (Animation*)(parametre);
    
    		int temps = SDL_GetTicks();
    
    
    		while(1){
    
    		if(SDL_GetTicks() >= temps + 2000/FPS)
    		{
    		temps = SDL_GetTicks();
    		Cyclone->m_frameSuivante();
    		SDL_FillRect(Cyclone->m_getEcran(),&Cyclone->m_getPosition(),SDL_MapRGB(Cyclone->m_getEcran()->format,0,0,0));
    		Cyclone->m_afficher();
    				}
    
    		}
    
    		return 0;
    }
    


    mon problème est qu'à la ligne "Animation* Cyclone = (Animation*)(parametre);" les variables de Cyclone ne sont plus les mêmes.
    J'ai vérifié à coups de débogage, l'objet Cyclone n'est pas le même avant "lancerAnim(&Cyclone);" dans le main et après, et je ne comprends pas pourquoi

    c'est peut-être un peu confus mais c'est difficile à expliquer désolé ^^

    merci d'avance
    • Partager sur Facebook
    • Partager sur Twitter
      26 avril 2008 à 21:09:35

      à ta fonction tu envoies l'adresse d'un pointeur, c'est le but ?

      ps: les casts ne se font pas comme ca en C++, cf FAQ de developpez
      • Partager sur Facebook
      • Partager sur Twitter
        26 avril 2008 à 21:15:54

        mdr, c'était vraiment tout bête en fait ^^
        je regarderais pour les casts, (mais j'avais appris à les faire comme ça dans le temps :o)

        merci beaucoup en tout cas
        • Partager sur Facebook
        • Partager sur Twitter

        Souci avec SDL_Thread

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown