1

Bon alor :
comment faire pour faire plusieurs plan ?
Comment faire pour faire bouger ses plan a vitesse différéntes ?
et qu'est ce que la différence entre scrolling et buffering ?

Merci d'avance happy
=)

2

[ul][li]trop vague comme question, si tu veux afficher plusieurs fonds pour faire ce qu'on appelle un scrolling différentiel, il te faudra par exemple une deuxième matrice (ça c'est vraiment parceque j'ai lu l'autre topic, tu devrais préciser beaucoup plus ton problème) pour contenir une autre surface de sprites, et l'afficher avant la première[/li]
[li]bah... si t'as un plan qui bouge à une certaine vitesse, je suppose qu'à un moment tu as une valeur qui te sert de "caméra", c'est à dire que tu utilises pour savoir de combien décaler l'arrière-plan avant de l'afficher; il suffit multiplier cette valeur par une constante pour augmenter ou réduire la vitesse de défilement d'un plan[/li]
[li]ça n'a rien à voir, le scrolling c'est le fait de faire défiler un arrière-plan (a priori trop grand pour être affiché en entier sur l'écran, donc on affiche que la partie intéressante, où se trouve le héros par exemple, et on fait défiler quand celui-ci se déplace), et le buffering c'est une façon d'éliminer les clignotements de l'écran en utilisant un (ou plusieurs) écran(s) "virtuel(s)" pour y dessiner pendant que l'écran réel est affiché sans subir de modifications[/li][/ul]
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

3

pour la 1ère question, ça dépend comment tu affiches ton fond : est-ce que tu ne le redessines jamais et que tu utilises des fonctions style ScrollUp()/ScrollRight()/..., ou est-ce que tu redessines à chaque fois ? (éventuellement avec une lib spéciale genre tilemap engine)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

4

Troisième possibilité pour la première question: si les sprites qui bougent sont dessinés avec des modes de dessin complexes (transparence, masqué), il est parfois possible de sauvegarder / restaurer l'arrière-plan, car ça peut coûter nettement moins cher que de tout redessiner smile
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

5

ben en fait je veut avoir un premier plan: la ou ya mon perso et les ennemies
ensuite un deuxieme ou ya le paysage, il faut définir les sprites ou les bitmaps de facon spéciale ? pour les transparence permier plan/ arriere plan.
c'est juste cahappy
=)

6

# si tu veux afficher plusieurs fonds pour faire ce qu'on appelle un scrolling différentiel, il te faudra par exemple une deuxième matrice (ça c'est vraiment parceque j'ai lu l'autre topic, tu devrais préciser beaucoup plus ton problème) pour contenir une autre surface de sprites, et l'afficher avant la première

7

Lionel Debroux (./4) :
Troisième possibilité pour la première question: si les sprites qui bougent sont dessinés avec des modes de dessin complexes (transparence, masqué), il est parfois possible de sauvegarder / restaurer l'arrière-plan, car ça peut coûter nettement moins cher que de tout redessiner smile

ça rentre dans la première possibilité, ça ^^ (ne pas redessiner l'arrière plan)


KIKOOLOL>
tu as grosso modo deux solutions : utiliser un truc comme tilemap engine pour redessiner le fond à chaque fois (ça a pas mal d'avantages, comme le fait de pouvoir utiliser des tiles animés ou de ne pas ralentir quand la map se déplace, mais c'est un petit peu plus coûteux en temps de calcul [tout en restant fluide]), ou bien garder un buffer séparé pour le fond, que tu scrolles toi-même et que tu recopies dans le buffer de travail à chaque frame...


naPO> euh justement c'est pas du tout de ça dont il a besoin embarrassed (cf ./5)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

8

et concretement ca donnerai quoi? parce ke j'aimerai ne pas utiliser de kernel si possible ...
ya une histoire de OR, XOR et AND dans l'argument des sprites non ?
Ca change en fonction de quoi ?

Concretemnt je voudrais que mon arriere plan ne bouge pas, mais que ce soit mon perso qui bouge. je dois ré-afficher le spirte (bitmap) d'arriere plan a chaque fois ou je peut m'en sortir en jouant sur les argument OR, XOR et AND des sprites ?
merci grin
=)

9

je crois que t'as raté mon post tongue

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

10

en effet dsl happy
Donc si j'ai bien compris je dois raffocher le l'arriere plan a chaque fois ?
sauf quand il ne se passe rien a l'écran naturellement happy
=)

11

voilà smile après le choix exact pour l'affichage de l'arrière plan dépend de ton jeu : si tu fais un jeu de plateau avec un fond fixe la plupart du temps, c'est mieux d'éviter d'avoir à le réafficher à chaque fois (donc solution 2), mais si tu fais un jeu où le fond bouge 80% du temps la solution 1 est plutôt plus adaptée ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

12

okay !
Et pour scroller le sprite (bitmap) je modifie juste ses coordonées de départ c'est ça ?
=)

13

pour le fond tu veux dire ? en général on n'a pas un seul gros bitmap, mais des centaines de petits bitmaps qu'on appelle "tile"... par contre si tu utilises un truc comme tilemap engine il suffit en effet de modifier les coordonnées du plan pour le scroller ^^

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

14

et cest un kernet tilemap engine ?
=)

15

y a pas besoin de kernel pour qu'il marche, non smile (enfin je crois)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

16

okey merci a tous happy
=)

17

Pollux (./15) :
y a pas besoin de kernel pour qu'il marche, non smile (enfin je crois)

Il n'est pas intégré à Genlib, le dernier ?

18

à extgraph, plus probablement, pour le tilemap engine, non ?
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

19

20

Le probleme quand j'affiche le sprite du premier plan, l'animation "mange" le second plan.
les pixel sont mangé par mon animation et je sais pas comment faire !
alor comment faire ?
=)

21

il faut faire un masque de ton sprite, c'est-à-dire faire une silhouette de ton personnage.

Pour utiliser le masque ensuite : !google masque sprite

22

ok je vai voir ca
=)

23

hum je comprend pas trop comment faire ca en faite, surtout que mes sprite sont codés en hexa...

parce que moi dans mon programme, les animation des perso change lorsque le personnage bouge, or je entre les animation je mettai un sprite "blanc" mais ca marche pas trés bien =s

si c'était possible de me l'expliquée je serai reconnaissant happy
Merci d'avance
=)

24

euh nan.
Pour *chaque* animation, tu dois faire le masque. Et ensuite, tu dois afficher le masque en mode ET et ton sprite en mode OU.

25

c 'est bon j'ai compris merci happy
=)

26

Ou bien tu peux utiliser des fonctions d'affichage par transparence qui évitent d'avoir à définir un masque pour chaque sprite.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

27

Par contre jai pas bien compris commen on fait pour différentier les pixel transparents et non-transparents.
Parce que au milieu de mon sprite il ya aussi des pixel blancs et ceux ci ne sont pas censé etre transparents ...
=)

28

Dans ce cas tu dois utiliser un masque smile (si tu dois juste détourer le contour blanc, tu peux très facilement les générer à la volée pendant l'execution)

29

ca je sais mais pas comment on le fait ...
C'est justement ce que j'qimerai que l'on m'explique happy
=)

30

!The Gimp
Et après tu fais un zouli remplissage de ton personnage en noir et tu convertis cette ombre de personnage pour ton code.