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 :

Librairie 2D pour coder un jeu ? [Lazarus]


Sujet :

Lazarus Pascal

  1. #21
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Reprends le post que j'ai écrit sur l'installation. Je te donne la marche à suivre.

    1) Choisis un éditeur de texte orienté programmation (il y en a une foultitude de notepad++ à Emancs en passant pas Vim et Scite). Pour ma part j'ai choisi SCite que je trouve simple, bien fait, très configurable etc. Indique le chemin de ton compilteur à l'éditeur (pour SCite cela se fait dans "Pascal properties" --- je pourrais t'indiquer comment faire éventuellement mais choisis ce que tu veux comme éditeur.

    2) Installe JEDI_SDL en faisant la manip que je t'ai donnée (tu enlèves tout ce qu'il y a dans chaque répertoire PAS de chaque unité (SDL, SDL_MIXER etc. etc.) et tu le copies dans le répertoire de l'unité elle-même. Tu prends soin de mettre toutes les unités SDL dans le répertoire unit de FPC (regarde le post dont je t'ai déjà parlé).

    3) C'est fait ! Tu as juste à taper ton programme et à le compiler (c'est comme ça que je fais). Attention tu auras une console qui s'ouvrira en même temps que ta surface (mais derrière). Pour ne plus avoir cette console, il faut faire une application Windows. Sous Freepascal cela se fait avec la directive de compilation :


    Le programme de test le plus simple devient ainsi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    PROGRAM test_SDL;
     
    {$APPTYPE GUI}
     
    USES SDL;
     
    BEGIN
     
      SDL_INIT(SDL_INIT_VIDEO);
     
    END.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  2. #22
    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
    Merci beaucoup !
    J'utilise notepad++, mais je vois pas comment lui indiquer le chemin de FPC...
    Edit : pareil pour scite...

  3. #23
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Pour Scite il faut cliquer sur 'OPTIONS' puis "OpenPascal.Properties" dans ce fichier repérer :


    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
    22
    23
    24
    25
    26
    27
    28
    29
     
    # compile
    command.compile.*.pas=fpc "$(FilePath)"
     
    # normal execute
    if PLAT_WIN
    	command.go.*.pas="$(FileName).exe"
    	command.go.subsystem.*.pas=2
    if PLAT_GTK
    	command.go.*.pas="kvt -e $(FileName)
     
    # build
    command.build.*.pas=fpc -B "$(FilePath)"
    command.build.subsystem.*.pas=1
     
    command.name.0.*.pas=Debug Compile
    command.0.*.pas=fpc -g "$(FilePath)"
    command.name.1.*.pas=Debug Build
    command.1.*.pas=fpc -g -B "$(FilePath)"
    command.name.2.*.pas=GDB
    if PLAT_WIN
    	command.2.*.pas=gdbpasw "$(FileName)"
    if PLAT_GTK
    	command.2.*.pas=gdb "$(FileName)"
    	command.name.3.*.pas=DDD
    	command.3.*.pas=ddd "$(FileName)"
     
     
    "
    remplacer les "fpc "$(FilePath)" par le chemin total (c'est plus sûr). Je ne suis pas sur ma bécane, je ne peux pas t'envoyer mon fichier perso 'pascalproperties'.

    Pour Notepad++ il doit y avoir la même manip. Si tu as cet éditeur cherche dans la doc c'est forcément marqué.

    Après une rapide recherche sur GOOGLE j'ai trouvé la réponse : http://notepad-plus.wiki.sourceforge.net/Run

    faut chercher un peu quand même ...

    Voilà voilou...
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  4. #24
    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
    Désolé ^^ merci.

  5. #25
    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
    Merci beaucoup, ça marche (enfin !) avec notepad++.
    Un dernier problème : j'ai ce programme tout simple :
    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
    program test;
     
     {$APPTYPE GUI}
     
    uses sdl, crt;
     
    var scr : PSDL_Surface;
     
    begin
     
    SDL_Init(SDL_INIT_VIDEO);
    scr := SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE);
    SDL_WM_SetCaption('Ma super fenêtre SDL !', NIL);
    SDL_FillRect(scr, NIL, SDL_MapRGB(scr^.format, 17, 206, 112));
    SDL_Flip(scr);
    delay(5000);
    SDL_Quit;
     
    end.
    Lorsque je lance le programme, celui-ci ne "répond pas" et le sablier tourne quand je mets la souris dessus, du coup, je peux pas déplacer la fenêtre ni la fermer avant la fin du delay. Est-ce normal ? (Ca fait pareil avec un readln; à la place du delay).

  6. #26
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Ton programme fonctionne très bien car il fait ce que tu lui as dit de faire et ... rien d'autre (normal quoi).


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    begin
     
    SDL_Init(SDL_INIT_VIDEO); (* Tu lui demandes d'initialiser : il le fait*)
    scr := SDL_SetVideoMode(640, 480, 8, SDL_SWSURFACE); (* Tu lui demandes de dessiner une surface : il le fait*)
    SDL_WM_SetCaption('Ma super fenêtre SDL !', NIL); (* Tu lui demandes de donner un nom à ta fenêtre : il le fait*)
    SDL_FillRect(scr, NIL, SDL_MapRGB(scr^.format, 17, 206, 112)); (* Tu lui demandes de peindre ta surface : il le fait*)
    SDL_Flip(scr); (* Tu lui demandes de rafraîchir l'écran pour voir les modifications : il le fait*)
    delay(5000);  (* Tu lui demandes d'attendre : il le fait*)
    SDL_Quit; (*Après l'attente tu lui demandes de se fermer : il le fait*)
     
    end.
    Finalement il fait tout ce que tu lui as demandé et rien que ce que tu luias demandé. Donc tout va bien (tu ne lui as pas demandé de gérer des événements souris : il ne le fait pas). Si tu veux gérer les événements, il faut que tu utilises les instructions ad hoc (variable SDL_Event notamment).
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  7. #27
    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
    Encore merci Richard, je pense ne plus avoir de problème maintenant.
    Si j'en ai un je posterai dans le forum freepascal, merci beaucoup !

  8. #28
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Citation Envoyé par chris37 Voir le message
    Bonjour,

    Je ne suis pas spécialiste en graphisme () mais par contre je vous propose de créer un article traitant de ce sujet sur le wiki .

    Si il y a des volontaires, cela peut permettre de créer une base de référence pour commencer avec la SDL. Faites moi signe...

    Cordialement,
    Chris
    ce serait avec plaisir car tu m'as donné un bon coup de main sur les bases de données (même si je suis encore une grosse buse là-dessus) mais je suis en train de traduire le tutoriel débutants de Lazarus et je ne peux pas trop me disperser, il y a du taf ...

    Pour plus tard, je ne dis pas non.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

  9. #29
    Membre éclairé
    Avatar de richard
    Homme Profil pro
    Inscrit en
    Avril 2002
    Messages
    474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Avril 2002
    Messages : 474
    Points : 772
    Points
    772
    Par défaut
    Citation Envoyé par Nanocom Voir le message
    Encore merci Richard, je pense ne plus avoir de problème maintenant.
    Si j'en ai un je posterai dans le forum freepascal, merci beaucoup !
    C'est un plaisir. Le mieux serait peut-être de mettre un tag [SDL] comme ça tousceux qui cherchent un truc là-dessus trouveront plus facilement.
    "Software is getting slower more rapidly than hardware becomes faster." Niklaus Wirth
    https://pharo.org/web
    https://faust.grame.fr/

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [Pygame] Demande d'aide pour coder un jeu
    Par Andromedx dans le forum GUI
    Réponses: 1
    Dernier message: 11/04/2013, 22h27
  2. Librairie simple pour un jeu simple
    Par Montaigne dans le forum Bibliothèques & Frameworks
    Réponses: 1
    Dernier message: 17/08/2011, 10h22
  3. Quelle librairie adopter pour faire un jeu par navigateur ?
    Par Meardon dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 22/10/2008, 17h39
  4. Librairie C++ pour jeu en ligne
    Par jblecanard dans le forum C++
    Réponses: 5
    Dernier message: 13/04/2008, 14h05
  5. Réponses: 7
    Dernier message: 18/06/2003, 15h20

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