Accueil Ti-Gen Foire Aux Questions Chat sur le chan #tigcc sur IRC
Liste des membres Rechercher Aide
Bienvenue Invité !   Se connecter             Mes sujets   
Administrer
0 membre(s) et 1 visiteur(s) actif(s) durant les 5 dernières minutes Utilisateurs actifs : Aucun membre + 1 visiteur
Avant de poster sur le forum, il y a des régles de bases à respecter pour une bonne entente et un respect de tous.
Veuillez lire la charte du forum.
  :: Index » GFA-Basic TI68K » Programmation » Les sprites :D (4 réponse(s))
./POST DE DEPART (post n°0)   Marquer comme non lu.
EJC2810 Ecrit le: Jeudi 17 mars 2005 à 20:16 Déconnecté(e)    Voir le profil de EJC2810 Envoyer un email à EJC2810 Envoyer un message privé à EJC2810  

Salut à tous,

Je voulais savoir comment on fait pour faire des sprites. J'ai regardé dans les exemples coconuts et slalom et tout ce que j'ai vu, c'est la commande sprite, une chaine, des Mki$ #confus# , et des Data, Readdata.
J'ai bien réfléchi et pensé que les data servaient à dessiner le sprite. Le problème est qu'il y a des nombres immensément grands derrière. Comment ça marche?

(A moins qu'il existe une doc que je n'ai pas trouvée bien sur!) :)
-Edité le Jeudi 17 mars 2005 à 20:17 par EJC2810-
    
./Post n°1   Marquer comme non lu.
geogeo Ecrit le: Jeudi 17 mars 2005 à 21:04 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Je suis occupé en ce moment mais je rempli petit à petit le manuel...

Pour utiliser un sprite ça se passe de cette façon:

Data permet de stocker des données, Read permet de lire des données stockées dans Data, Sprite permet d'afficher un sprite de 16*y, Get permet de récupérer une zone écran et de la sauvegarder dans une variable et enfin Put permet d'afficher le contenue d'une variable.

Dans cocnuts tu as ce genre de chose:

Coco1$=Mki$(0)+Mki$(0)+Mki$(&H0010)
For I%=1 to 16
 Read Data%
 Coco1$=Coco1$+Mki$(Data%)
Next I%
Data 0,28672,64540,56895
Data 36723,865,15169,32752
Data 64248,58556,51486,35086
Data 4366,6924,5384,4352


Coco1$=Mki$(0)+Mki$(0)+Mki$(&H0010) = L'header de ton sprite, 0 et 0 pour les coordonnées x et y non utilisées encore et &H0010. Les 8 premiers bits soit 0h10 ici indique la hauteur du sprite. Les 8 derniers bits indiquent comment sont stocké les données du sprite, 0 pour simple sans masque, 01 pour avec masque mais non entrelacées et enfin 2 pour masque entrelacées.

Un exemple simple, on veut créer un sprite de cette allure de 4 pixels de hauteur:
0b0000 1100 0011 0000
0b1111 0000 0000 1111
0b1111 0001 1000 1111
0b0000 1100 0011 0000

En GFA-Basic cela donne:

Spr$=Mki$(0)+Mki$(0)+Mki$(&H0004)
For I=1 To 4 'Car on a que 4 pixels de hauteur.
  Read Ligne
  Spr$=Spr$+Mki$(Ligne) 
Next
Sprite Spr$,50,50
Repeat
Until RR_ESC
Data &X0000110000110000 
Data &X1111000000001111
Data &X1111000110001111
Data &X0000110000110000


Tu trouveras des infos sur la fonction Mki$ ici: http://www.tigen.org/gfabasic/index.php?page=manuel&module=fonctions.php#120

Faut juste savoir que la fonction Mki$ permet d'écrire 2 octets dans une chaîne de caractères.
Tu trouveras aussi des infos sur la fonction Read. http://www.tigen.org/gfabasic/index.php?page=manuel&module=fonctions.php#159

Tu trouveras un exemple interessant avec la fonction Restore: http://www.tigen.org/gfabasic/index.php?page=manuel&module=fonctions.php#165
-Edité le Jeudi 17 mars 2005 à 21:05 par geogeo-
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
./Post n°2   Marquer comme non lu.
EJC2810 Ecrit le: Jeudi 17 mars 2005 à 21:36 Déconnecté(e)    Voir le profil de EJC2810 Envoyer un email à EJC2810 Envoyer un message privé à EJC2810  

Merci pour tout, je vais étudier ça. #top#
    
./Post n°3   Marquer comme non lu.
Kevin Kofler Ecrit le: Vendredi 18 mars 2005 à 04:02 Déconnecté(e)    Voir le profil de Kevin Kofler Envoyer un email à Kevin Kofler Visiter le site WEB de Kevin Kofler Envoyer un message privé à Kevin Kofler  


Soit dit en passant que les chaînes de caractères sont une très mauvaise représentation pour un objet constitué de données binaires de taille constante comme un sprite. Un tableau est une représentation plus appropriée.
Membre de l'équipe de TIGCC: http://tigcc.ticalc.org
Mainteneur du portage Linux/Unix de TIGCC: http://tigcc.ticalc.org/linux/
Membre de l'équipe de CalcForge: http://www.calcforge.org:70/

Participez à la reprise de Ti-Gen!
    
./Post n°4   Marquer comme non lu.
geogeo Ecrit le: Vendredi 18 mars 2005 à 11:42 Déconnecté(e)    Voir le profil de geogeo Envoyer un email à geogeo Visiter le site WEB de geogeo Envoyer un message privé à geogeo  


Hum je le sais tu me là déjà dit mais vois-tu j'suis pas flash pour coder cet interpréteur donc faut être patient!
On pourra utiliser des fichiers, des tableaux.... Ca va venir.
Webmaster du site.
Programmeur sur TI68K. Arkanoid, Nebulus, GFA-Basic.

Plus d'informations sur GFA-Basic (un langage Basic pour TI68K).
http://www.tigen.org/gfabasic
    
  :: Index » GFA-Basic TI68K » Programmation » Les sprites :D (4 réponse(s))
Pages : 1/1     « [1] » »|

.Répondre à ce sujet
Les boutons de code
[B]old[I]talic[U]nderline[S]trikethrough[L]ine Flip Hori[Z]ontallyFlip [V]erticallySha[D]ow[G]low[S]poilerCode [G][C]ite
Bullet [L]istList Item [K] Link [H][E]mail[P]icture SmileysHelp
Couleurs :
Saisissez votre message
Activer les smileys
     

Forum de Ti-Gen v3.0 Copyright ©2004 by Geoffrey ANNEHEIM
Webmaster: Kevin KOFLER, Content Admins: list, Server Admins: Tyler CASSIDY and Kevin KOFLER, DNS Admin: squalyl
Page générée en 37.5ms avec 18 requetes