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

Langage Delphi Discussion :

Comment utiliser un array of TImage ?


Sujet :

Langage Delphi

  1. #21
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    Suite à ton mp : Honnetement, tu devrais essayer DelphiX. Pour faire des jeux, c'est super performant et étudié pour ça justement ! Sinon, je peux toujours te donner un exemple pour déplacer l'image au pixel près et par dessus la grille... Les touches de direction permettront de déplacer l'arrière-plan (le perso est toujours au centre normalement). J'ajouterais le code pour lui faire faire un saut si tu veux. Mais DelphiX est vraiment bien car il est spécialement conçu pour créer ce genre de jeu avec Delphi. Il est extrèment rapide et gère la colision des objets, les sons, les effets, l'entrée joystick, etc... C'est ce compo que j'utiliserais à ta place. Tu le trouveras dans cette page :
    http://www.developpez.com/delphi/cou...phiques/media/

    à+
    De retour parmis vous après 10 ans!!

  2. #22
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    Je vais regarder delphiX mais il me semble un peut vieux (2000) et j'ai delphi 7, je sait pas si ça marche (je voit 4,5,6 mais pas 7).

    J'essaye de faire un jeu pareille que sonic sur megadrive qui fonctionne avec un système de sprites '2D'.
    J'ai créer 1 tlistimage qui contient tout les sprites d'action du personnage (marcher, courir, etc...).
    J'ai créer une deuxième Tlistimage qui contient des élements du décors (sol, objects, etc...)

    J'arrive à dessiner mon personnage par getimage depuis ma timagelist vers ma timage, il bouge grace à keypressdown.

    Pour créer la carte j'avais besoin d'aligner des images (toutes les images font ( 48*48 ). Si je met tout dans une grille le personnage se déplace mais il se passe un redessinement, il efface pas l'image d'avant, du coup ça fais une trainées du personnage.

    Je pensais à 2 solutions :

    - générer dynamiquement des images et leur mettre la bonne images.
    ex : il faut 5 images à la suite pour la fenetre. j'en crée 6, et quand la premiere arrive à top -48, je créer une nouvelle etc...

    - poser le personnage sur la tdrawgrid, sans que ça fasse de fondu.

    - poser la timage par dessus la tdrawgrid mais on peut pas je croit

    C'est mon premier jeu et j'essaye de trouver des solutions à des petits problèmes de game dev.

    Merci de votre aide

  3. #23
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    On peut le faire avec TDrawGrid, mais les performances seront limitées...
    Essaye DelphiX, la version pour D7 est ici : http://maxxdelphisite.free.fr/delphix.htm
    Sinon, voici un exemple permettant de déplacer l'image avec les touches de direction.
    Tu pourras te rendre compte que ce n'est pas vraiment super pour en faire un jeu...

    http://sub0.developpez.com/delphi/gridmap2.zip

    Tu peux toujours augmenter la vitesse de déplacement en augmentant la valeur de la constante "Deplacement"...
    à+

    [EDIT]
    Il serait possible d'optimiser cette démo pour ne redessinner que ce qui est nécessaire.
    Dans ce cas, ça pourrait bien le faire !
    A toi de me dire ce que tu auras choisi d'utiliser sachant qu'il faudra du temps suplémentaire pour la gestion des collisions et les traitements divers, animations, sons, etc...
    C'est pour cette raison que je te conseille DelphiX car le compo a un accès direct au matériel et pilotes systèmes et est donc beaucoups plus rapide que le canvas de Delphi, surtout que Sonic est un jeu qui fizz !
    De retour parmis vous après 10 ans!!

  4. #24
    Membre habitué Avatar de poussinphp
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    428
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 428
    Points : 176
    Points
    176
    Par défaut
    Je vais voir les 2 options.

    Je pense commencer par la tdrawgrid puis j'essayerais de migrer vers delphix (mon but étant ensuite de faire du directx).

    Encore merci beaucoup

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

Discussions similaires

  1. Comment utiliser <> avec array sur autofilter
    Par Nono Sto dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 23/10/2013, 11h14
  2. Réponses: 3
    Dernier message: 20/12/2006, 17h13
  3. Comment utiliser un array of Tstrings
    Par fred64 dans le forum Delphi
    Réponses: 3
    Dernier message: 13/09/2006, 19h19
  4. Réponses: 5
    Dernier message: 11/06/2002, 15h21

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