1

pour une fois c pas un pb, mais pour savoir comment ca marche:
voici un sprite:

dc.b %00000000
dc.b %01111110
dc.b %01000010
dc.b %01000010
dc.b %01000010
dc.b %01000010
dc.b %01111110
dc.b %00000000

je voudrai savoir comment afficher les 0 de l'exterieur en transparent et l'interieur en non transparent
je sais comment faire soit l'un soit l'autre, mais les 2 combinées, je sais pas confus
je pense qu'il doit y avoir une histoire de mask mais vu que g pas compris ce que c et comment ca marche
merci de votre (future) aide smile
En préretraitre

2

ben dabord tu effaces tous les pixels qui doivent etre effaces, cest le mask
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"

3

Réfléchis ! On écrase la zone voulue (l'intérieur du sprite en l'occurence) avec l'opérateur AND et le masque adéquat. Puis on affiche le sprite avec OR.

wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

4

mais justement, comment je fait pour savoir la zone à ecraser ???
mon sprite n'est pas tjrs pareil
je suis pas neu² non plus tongue
En préretraitre

5

Pour illuster ce que j'ai dit :
- on fait un AND entre le masque et l'écran :
  ECRAN           MASQUE     RESULTAT
%xxxxxxxx       %11111111   %xxxxxxxx
%xxxxxxxx       %10000001   %x000000x
%xxxxxxxx       %10000001   %x000000x
%xxxxxxxx  AND  %10000001 = %x000000x
%xxxxxxxx       %10000001   %x000000x
%xxxxxxxx       %10000001   %x000000x
%xxxxxxxx       %10000001   %x000000x
%xxxxxxxx       %11111111   %xxxxxxxx

-> PUIS ->

  ECRAN          SPRITE      RESULTAT
%xxxxxxxx       %00000000   %xxxxxxxx
%x000000x       %01111110   %x111111x
%x000000x       %01000010   %x100001x
%x000000x  OR   %01000010 = %x100001x
%x000000x       %01000010   %x100001x
%x000000x       %01000010   %x100001x
%x000000x       %01111110   %x111111x
%xxxxxxxx       %00000000   %xxxxxxxx


Putain c'est pas tous les jours que je m'amuse à faire des illustrations comme ça eek
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

6

c beau eek
merci thibaut smile
je vé voir cela
En préretraitre

7

ton mask faut le faire pour chaque sprite
Y a deux fesses qui sont sur la plage et l'une dit à l'autre :
"Qu'est ce qu'on fait maintenant ?"
Et l'autre lui répond :
"Ben PROUT !!!"

8

oué
merci tous les 2 smile
En préretraitre

9

mais c coûteux en mem d'utiliser les masks sad
ça dépend des sprite ke t'as a afficher, tu peux ne pas faire un mask pour chaque sprite...
(c pour afficher les chiffres des fps plus vite que la routine merdeuse du tios? grin)
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

10

ça devrait être dans algo & optimisation ça... des programmeurs en basic ou C peuvent répondre...

gugusg > pour ce que tu es en train de faire, les masques ça va être chaud en effet... mais si tu ve une explication claire, demande-moi je dois avoir ça wink
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

11

c bon, je vais faire autrement, mais au moins j'ai pigé comment ca marche smile
En préretraitre

12

smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

13

Et quand on est malin comme PpHd on genere les masks on the fly grin
So much code to write, so little time.

14

confus
comment cela
tu peut expliquer un peu smile
En préretraitre

15

Ah oui ça m'interesse ça... Je pensais pas que c'était possible d'ailleurs, ma seule tentative de création de masque automatique était une catastrophe...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

16

ba c pas bien dur à faire à mon avis...
une méthode (peut être pas celle qu'utilise PpHd): tous les bords de ton sprite sont 0, et dès que ta routine de sprite crée le mask, elle commence à mettre les bits à 1 quand elle rencontre le premier bit à 1 de la ligne dans le sprite d'origine, et s'arrête quand elle arrive à l'autre bout...
ms c peut être assez lent, surtt si t'as plein de trous dans tes sprites, avec certains qui doivent être transparents et d'autres pas...
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

17

et si je veux faire l'extérieur en opaque et l'intérieur en transparent
fou.gif
ca marche pas ta méthode !!!
il peut pas deviner ce que tu veut faire le prog grin
En préretraitre

18

sBibi > C'est exactement ma méthode, et je peux te dire que c'est TRES lent mourn
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

19

bah ué... je c pas, tu dois stocker les infos de tes masks qque part dès qu'ils deviennent un peu complexes il me semble... smile
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960

*** Ne sous-estimez pas la puissance de la Marmotte ***
© Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina

20

Heu il me semble que genlib ne fait qu'une bordure sur les sprites ( cette bordure est d'ailleur irregulière, cf haut et bas du sprite..) ce qui est beaucoup plus simple que cela... enfin bon je vois pas trop l'interet pour ce que tu veux faire gu²sg
[edit]Edité par TiMad le 01-01-2002 à 15:28:25[/edit]
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

21

La maniere la plus rapide:
XIniMaskTable8();
c'ad c'ad faire une initialisation avant d'utiliser ta routine. cette initialisation serait un qqs sorte un malloc pour une table de 256 octet ou tout les mask sont precalcule.
Ceci etant dit, il doit y avoir une methode par masquage binaire...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!