Page 1 sur 1

Multiple OpenWindowedScreen ?

Publié : sam. 18/sept./2004 10:41
par Dräc
Bonjour, avant de me lancer vers de lourdes modifications dans mon code, je vais consulter la sagesse du forum :)

Jusqu’à présent mon prog utilisait un OpenWindowedScreen.
Cependant, cette fonction a les memes limitations que OpenSreen pour ce qui est de sa taille maxi.
Or j’ai besoin de créer un ecran plus grand, d’où mes questions :

Quelle est la meilleure manière d’y arriver : faut-il utiliser les images pour simuler mon écran et la librairie 2DDrawing par exemple ?
Les performances sont elles les memes ?

Ensuite ca se corse car avec ca j’aimerai ouvrir plusieurs écrans de grande taille affichant différentes régions d’une meme carte ( de mon jeu)

Selon moi, deux gd principes
1- soit créer une carte du jeu à la dimension voulue en mémoire (sans l’afficher à l’écran) et d’afficher dans des fenetres d’un MDIGadget des images de taille plus petite pointant sur des regions différentes de la carte.
Avantage : il suffit d’entretenir la carte pour que l’affichage soit à jour dans les fenetres MDIGadget
Inconvénient : ca prend de la place mémoire

2- soit construire directement la région de la carte de chaque fenetre
Avantage : la taille mémoire
Inconvénient : le tps machine surement…

La solution 2 collerait à mon codage actuel, simplement on ne peut ouvrir qu’une seule screen.

Bref, selon vous quelle est la meilleure manière d’y parvenir (surtout en performance)?
Existe t-il déjà des solutions connues ?
Quelqu’un a un exemple concret ?

Publié : sam. 18/sept./2004 21:24
par Thyphoon
je crois qu'on ne peut ouvrir qu'un openwindowedscreen !
SI j'étais toi je transformerait ma carte en tableau dans un coin de ton ecran comme si tu avec une fnêtre j'afficherais la partie du code correspondant a ce que je veut montrer !
Si ta map n'est pas transposable en tableau alors utilise la commande GrabImage qui te permet de n'avoir qu'une partie de l'image ou bien ClipSprite qui permet de n'afficher qu'une partie d'un sprite
Voilà...j'éspère que ça t'aidera !

Publié : dim. 19/sept./2004 10:14
par Dräc
Salut Thyphoon,

Tu as raison, on ne peut créer qu’une seule Screen (que ce soit avec OpenScreen ou OpenWindowedScreen) et là est tout l’intérêt de ma question ;)

Je voulais finalement savoir si quelqu’un c’était penché sur la question de la meilleure méthode à employer pour contourner cette limitation, mais visiblement ca n’inspire pas grand monde, meme sur le forum anglais…

Rq : au passage, personnellement j’évite d’utiliser ClipSprite sur de trop gros sprite, car si la fonction permet de n’afficher à l’écran que la partir non « clippée », elle traite malgré tout le sprite en entier ce qui peut s’avérer long…

Publié : dim. 19/sept./2004 11:13
par Thyphoon
Qu'elle est la resolution de ta map ? en pixel ?
Est ce qu'elle change rapidement ! ou bien s'ecoule t'il un certain nombre de seconde avant qu'il ne change ?
Si j'étais toi ! Je ferais un grabsprite sur ton sprite de Map et j'afficherais a chaque boucle une sprite temporaire (créer avec grapsrpite) et simplement a chaque mouvement je referais un grab !

heuuuuuu je suis claire ou pas? :P