Vous n'êtes pas identifié.
Bonjours
Je viens d'acquérir une graph100 ( j'avais avant une 35 ou j'ai fais quelques programmes en basic) et j'ai trouver très interessantes les possibilitées du language MLC.
J'ai déja programmer un serpent qui marche assez bien et très fluide, chose impossible avec le basic Casio ( :cry: enfin je crois).
Mais dans la documentation, on parle de sprites et de bitmaps et j'ai vus qu'ils étaient utilisés dans certains jeux déja programmés.
1°/ A quoi ca sert?
2°/ Leur interet?
3°/ Comment et quand utiliser les bitmaps et sprites?
Ces fonctions me semblent très utiles et j'aimerais pouvoir les maitrisées.
Merci.
Hors ligne
Alors, les sprites et les bitmaps.
Les bitmaps sont, en gros, des tableaux de données indiquant comment dessiner une image. On les utilise avec la fonction #DBMP [BITMAP %X %Y, où %X et %Y sont les coordonées où tu veux placer la bitmap.
[BITMAP est le nom de la bitmap, toujours précédé de "[".
Tu définit une bitmap à n'importe quel endroit du programme (mais, à mon avis, c'est mieux de le faire au début) comme ceci(je mets des commentaires de style C mais il ne faut pas les taper)
#DATA 'début de la section de données
#BITM [NOM 8 '[NOM est bien sûr le nom de la bitmap et 8 est la taille(8x8);on peut faire des bitmap en 16x16, je crois, mais l'éditeur n'est pas intégré à le Casio...
BLAH BLAH BLAH 'Les données de l'image
#DEND 'fin de la section de données
Pour trouver le code qui est dans les BLAH BLAH BLAH, utilise le programme 'mlc-se.exe', fourni avec l'archive de MLC. Il te suffit de le transférer sur la caltos, le lancer, dessiner la bitmap avec la touche SHIFT et les touches de "couleur" indiquées (mask, c'est pour la transparence). Quand tu as fini, appuye sur F6, puis sur une touche Fx, et l'éditeur t'enregistre le code de la bitmap dans le fichier BASIC "AMLCSPRx". Tu n'as plus qu'à le copier dans ton programme.
Ensuite, les sprites. Ce sont des objets, comme les bitmaps, qui contiennet le nom de ta bitmap, et les coordonnées X et Y. C'est tout!
Tu définis un sprite dans n'importe quelle fonction, contrairement aux bitmaps, comme ceci:
#SPRT ^NOM [BMP
Où ^NOM est le nom du sprite et [BMP la bitmap. On réutilise les sprites dans le code avec ^NOM.X et ^NOM.Y pour les coordonnées(on peut les lire et les écrire), avec ^NOM.BMP=[BMP2 pour modifier la bitmap en cours de route et #DISP ^NOM pour l'afficher sur l'écran.
Alors pourquoi utiliser les deux? Tout simplement parce que manipuler un sprite est plus simple pour un objet en mouvement et une bitmap pour un objet fixe pour un mur (à mon avis)
Bonne programmation!
Hors ligne
Merci beaucoup, c'est plus clair maintenant.
Hors ligne
actually sprites are far more complicated:
#SPRT ^NAME
#DISP ^NAME
^NAME.X // X position
^NAME.Y // Y position
^NAME.DX // X.DX (DX > 100 = X=X+1)
^NAME.DY // Y.DY (DY > 100 = Y=Y+1)
^NAME.VX // every time #DISP ^NAME is called ^NAME.DX+^NAME.VX
^NAME.VY // every time #DISP ^NAME is called ^NAME.DY+^NAME.VY
Hors ligne
can you explain more about the new functions?
Hors ligne
^NAME.DX=
Cela permet de ralentir un sprite qui avance selon X. Quand DX avance de 1, X avance de 0.01 pixel.
^NAME.VX=
Cela permet de définir la vitesse du sprite suivant X s'il avance de plus d'un pixel par cycle. Si VX = 3, alors ton sprite avancera à chaque cycle de 3 pixels.
Et quand tu fais : #DISP ^NAME , MLC avance ton sprite de ^NAME.DX+^NAME.VX
Ces fonctions se trouvent dans la dernière version de MLC: v 1.2 beta 2. Il se trouve ici :
http://www.casiocalc.org/SITE/outpages/ … oad_that=1
Hors ligne