IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

SDL_AddTimer : comment l'utiliser ?


Sujet :

Lazarus Pascal

  1. #1
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Janvier 2009
    Messages : 38
    Points : 31
    Points
    31
    Par défaut SDL_AddTimer : comment l'utiliser ?
    Hellow, je suis en train de coder un jeu avec la SDL (jedi-SDL) et je voudrais créer un timer qui appelle une fonction d'affichage toutes les 30 ms. J'arrive à lancer un timer lorsque je n'ai aucun paramètre à donner à ma fonction de callback, mais lorsque je veux en mettre, le compilateur m'indique des erreurs que je n'arrive pas à corriger.

    La doc de la fonction SDL_AddTimer : http://jedi-sdl.pascalgamedevelopmen...laddtimer.html

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    type timerParam = ^TtimerParam;
     
    TtimerParam = record
               scr : PSDL_Surface;
               imgFond : PSDL_Surface;
    end; 
     
    function actualise(intervalle : UInt32; param : pointer) : UInt32;
    begin
    	SDL_BlitSurface(param^.imgFond, NIL, param^.scr, NIL);
    	SDL_Flip(param^.scr);
    	result := intervalle;
    end;
     
    procedure cgraphiques.activeTimer();
    var par : timerParam;
    begin
            par^.scr := scr; // Attribut de la classe cgaphiques
            par^.imgFond := imgFond; // Idem
    	timerId := SDL_AddTimer(FPS, @actualise, par);
    end;
    En gros ce code permet de réafficher l'image de fond toutes les 30 ms (ce n'est qu'un début : plus tard, la fonction affichera tous les graphismes du jeu).

    L'erreur que me retourne Lazarus : Illegal qualifier sur la ligne SDL_BlitSurface(param^.imgFond, NIL, param^.scr, NIL); : apparemment, c'est le param^.imgFond que j'utilise mal...

    Merci d'avance !

  2. #2
    Nouveau membre du Club
    Inscrit en
    Janvier 2009
    Messages
    38
    Détails du profil
    Informations personnelles :
    Âge : 34

    Informations forums :
    Inscription : Janvier 2009
    Messages : 38
    Points : 31
    Points
    31
    Par défaut
    Pour le modo qui a déplacé mon message, mon problème n'a rien à voir avec lazarus, c'est justement plus un problème de FPC.

    Mais en fait c'est pas grave parce que j'ai trouvé comment faire merci quand même.

  3. #3
    Membre expérimenté
    Avatar de chris37
    Homme Profil pro
    Directeur des systèmes d'information
    Inscrit en
    Juillet 2007
    Messages
    378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Directeur des systèmes d'information
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 378
    Points : 1 688
    Points
    1 688
    Par défaut
    Bonjour,

    Et donc.... Comment faire pour avoir la solution a votre problème car c'est bien la le but du Forum n'est ce pas ?

Discussions similaires

  1. Réponses: 3
    Dernier message: 11/02/2005, 14h39
  2. [Optimisation] Comment bien utiliser le StringBuffer?
    Par mathieu dans le forum Langage
    Réponses: 4
    Dernier message: 17/05/2004, 14h22
  3. Comment bien utiliser ce forum ?
    Par Alcatîz dans le forum Pascal
    Réponses: 0
    Dernier message: 21/04/2004, 16h37
  4. [scrapbook] comment l'utiliser ?
    Par Didier 69 dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 16/04/2004, 17h28
  5. [INDY] -> IdIdentServer comment l'utiliser ?
    Par MaTHieU_ dans le forum C++Builder
    Réponses: 9
    Dernier message: 06/08/2003, 16h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo