Derniers sujets | » Numbers par Ver2guerre Dim 02 Avr 2023, 00:47
» Mort ? par godbod Dim 22 Aoû 2021, 12:23
» Network, essai 1 par godbod Dim 09 Juil 2017, 02:18
» GODBOD par godbod Sam 08 Juil 2017, 14:05
» mon humeur par Ver2guerre Sam 30 Juil 2016, 19:44
» [A voir] Programme de traduction original : WikiTranslate par AdRiWeB Lun 01 Fév 2016, 04:50
» Reprise ? par Emyl Jeu 14 Juin 2012, 21:17
» Euh, ah ? par Ver2guerre Dim 27 Mai 2012, 12:11
» Problème TI 89 Titanium non visible après mise à jour par abdoukid Mer 23 Mai 2012, 13:37
» Y'a quelqu'un ? par Ver2guerre Sam 21 Avr 2012, 23:10
|
Qui est en ligne ? | Il y a en tout 4 utilisateurs en ligne :: 0 Enregistré, 0 Invisible et 4 Invités :: 1 Moteur de recherche Aucun Le record du nombre d'utilisateurs en ligne est de 367 le Dim 18 Oct 2009, 00:16 |
| | [Basic] 1B : Animer l'ecran avec des sprites | |
| |
Auteur | Message |
---|
Syfo Pokémophile
Nombre de messages : 1978 Age : 33 Localisation : IYA items :
Personalized field : 26 jetons Réputation : 8 Points : 6779 Date d'inscription : 09/08/2007
Profil TI: 80, 82, 83, 83+, 84+ TO: 2 945 [GAIN * 1.1] Spécialité: Basic z80
| Sujet: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 15:47 | |
| Lecon 1B: dessiner vos propres sprites Nous savons maintenant comment utiliser des sprites en ASCII dans l'ecran principal. Le faire dans l'ecran de dessin revient strictement au meme, et vous etes capable de le faire sans mon aide, j'en suis persuade. - Citation :
- -Et si j'veux faire un viseur pour tirer sur les mechants?
C'est justement ce que nous allons voir maintenant. C'est plus complique que d'afficher un sprite en ASCII, alors il va falloir bien suivre. Commencons par afficher une petite croix: - Code:
-
PxlOn (20,45) PxlOn (20,47) PxlOn (21,46) PxlOn (22,45) PxlOn (22,47) //allez, en plein milieu de l'ecran, soyons fou Maintenant, on va l'afficher a un endroit variable, comme nous l'avons fait dans la lecon precedente: - Code:
-
20->A : 45->B PxlOn (A,B) PxlOn (A,B+2) PxlOn (A+1,B+1) PxlOn (A+2,B) PxlOn (A+2,B+2) Je vois que vous commencez a comprendre. Si on reprend le programme code en 1A, qu'on l'adapte un peu, on obtient ceci: - Code:
-
20->A 45->B While 1 // boucle infinie, nous verrons plus tard pourquoi Getkey->G // on recupere le code de la touche pressee If G=105 Stop // enter a ete pressee, on arrete le programme If G != 0 ClrDraw // on efface l'ecran If G=24 and B !=0 // attention, 0 et pas 1, c'est 0 le minimum pour l'ecran de dessin B-1->B If G=25 and A !=0 A-1->A // on change les coordonnees du sprite If G=26 and B !=91 // pourquoi 91 et pas 94? parce que le viseur est large de 3 caracteres B+1->B If G=34 and A !=59 //pareil A+1->A PxlOn (A,B) PxlOn (A,B+2) PxlOn (A+1,B+1) PxlOn (A+2,B) PxlOn (A+2,B+2) //on affiche le sprite End // fin de la boucle, la calculatrice retourne au "While 1" en lisant ce End Voici ce que ca donne: - Citation :
-Mais c'est lent! Oui, c'est le principal probleme des programmeurs en Basic. Il va falloir user de toute notre ingeniosite pour obtenir une vitesse correcte: optimiser le programme pour le rendre plus rapide (nous verrons cela dans le chapitre 3, pour l'instant ce n'est pas encore tres important), et/ou deplacer plus rapidement le sprite. Ben oui, vous n'etes pas oblige de le deplacer d'un seul pixel a la fois, vous pouvez le faire "sauter" de 10 pixels par exemple: - Citation :
-Si je mets un fond, ca va "clignoter", non?
C'est exact. Si on enregistre un dessin de sprite dans l'image Pic1, le Clrdraw va l'effaceret il faudra la reafficher a chaque fois que l'on deplace le sprite. - Citation :
-Quelle horreur! Comment va t-on faire? On ne va plus utiliser de ClrDraw, c'est aussi simple que cela. - Citation :
- -Mais alors le viseur ne va pas s'effacer, on va en avoir partout!
Bien sur que non! On va utiliser d'autres moyens pour l'effacer et n'effacer que lui. Ce qu'on pourrait faire, c'est coder deux fois le sprite, une fois avec des PxlOn et une autre avec des PxlOff, mais ce serait problematique. Tout d'abord, parce que c'est long, fastidieux a faire, et que ca boufferait de la memoire, et ensuite parce que ca pourrait laisser des "trous" dans le fond. - Citation :
- -Argh! Pas beau!
Entierement d'accord. C'est pour cette raison que nous allons utiliser le PxlChange. Cette fonction change l'etat du pixel designe: s'il est eteint, on l'allume, et inversement. - Citation :
-Mais alors, on doit quand meme coder le sprite deux fois? Du tout! Si on y reflechit ben, ce serait coder deux fois exactement la meme chose. Il suffit d'utiliser une boucle pour l'afficher et l'effacer. - Code:
-
20->A 45->B While 1 Repeat G // on attend qu'une touche soit pressee, pour que ca Getkey->G // ne "clignote" pas End For (C,1,2) //boucle qui fonctionne deux fois, pour C=1 puis pour C=2 PxlChange (A,B) PxlChange (A,B+2) PxlChange (A+1,B+1) // code du sprite: pour C=1 il est efface PxlChange (A+2,B) // pour C=2 il est affiche PxlChange (A+2,B+2) If C=1 // on deplace le sprite une seule fois Then If G=105 Stop If G != 0 ClrDraw If G=24 and B !=0 B-1->B If G=25 and A !=0 A-1->A If G=26 and B !=91 B+1->B If G=34 and A !=59 A+1->A End // fin du if End // fin du for End // fin du while - Citation :
-Lorsque je rentre ce code dans un programme, ca me fait exactement l'inverse, ca me l'affiche pour C=1 et ca me l'efface au second passage! C'est le probleme du PxlChange: on doit afficher le sprite avant de le deplacer dans une boucle. Si on ne le code pas deux fois au sein de la boucle, on le code tout de meme deux fois, une fois avant la boucle, et une autre dans la boucle. - Citation :
- -On pourrait ne deplacer le sprite qu'au deuxieme passage, en changeant juste le "If C=1" en "If C=2".
Tout a fait, et je te felicite pour cette remarque judicieuse. Ici ce que tu dis fonctionne puisque la seule chose que fait ce programme c'est deplacer un unique sprite. Mais s'il devait en deplacer deux? Ou modifier des compteurs et toutes sortes d'autres instructions? Il se passerait alors pas mal de temps entre l'effacement du sprite et son reaffichage. ATTENTION: Pour de grosses routines de deplacement, il faut toujours reafficher le sprite juste apres l'avoir efface, sous peine d'avoir de gros blancs. Donc un code n'est jamais LE code. C'est simplement une maniere de faire, que vous devez savoir adapter suivant la situation. Si vous avez compris ca, si vous avez bien integre ce chapitre, alors vous avez les bases suffisantes pour faire de superbes jeux graphiques, et il vous suffira d'un peu experience pour bien manipuler les sprites. Nous en verrons une application dans le prochain chapitre, ou nous apprendrons comment faire de beaux menus graphiques.
Dernière édition par Syfo le Dim 24 Fév 2008, 16:35, édité 1 fois |
| | | Syfo Pokémophile
Nombre de messages : 1978 Age : 33 Localisation : IYA items :
Personalized field : 26 jetons Réputation : 8 Points : 6779 Date d'inscription : 09/08/2007
Profil TI: 80, 82, 83, 83+, 84+ TO: 2 945 [GAIN * 1.1] Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 15:48 | |
| |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 21:22 | |
| Bien bien :) +60 TO pour cet article :)
nay0w>est-ce que ces tutos te sont utiles ? |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6298 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 21:32 | |
| syfo -> tu devrais aussi préciser que des apps asm permettent de faciliter la tache |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 21:34 | |
| xLib et Omnicalc ? vaut mieux pas embrouiller les débutants |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6298 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 21:57 | |
| non mais déja un truc qui annonce, quoi, un lien (puisque c'est sur le wiki ) vers un tuto complet |
| | | nay0w légende
Nombre de messages : 797 Age : 30 Localisation : Dans l'coin! Humeur : Bonne x) items : o Personalized field : 10 jetons Réputation : 0 Points : 6268 Date d'inscription : 11/02/2008
Profil TI: 82Fr / 89-Titanium TO: 3 825 Spécialité: Autre
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 22:07 | |
| - Citation :
- nay0w>est-ce que ces tutos te sont utiles ?
Pas encore , mais ils le seront |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 22:10 | |
| |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6298 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 22:15 | |
| en gros, y'aura un lien vers le tuto qui concernera le truc plus difficile |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 22:18 | |
| ah oui, c'est faisable alors, mais là c'est tuto BASIC uniquement |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6298 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 22:47 | |
| |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 23:07 | |
| attention aux messages inutiles adri ! (cf annonce) |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6298 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Ven 22 Fév 2008, 23:53 | |
| arf oui ok dsl
syfo -> pourquoi t'as mis des espaces après les commandes, au fait ?
du genre Pxlon (.....) |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 00:18 | |
| bah, c'est qu'un détail de toute façon |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6298 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 11:16 | |
| ouai, mais je vois bien le noob qui vient dire "gnééééé ca marche poooooooo"
xD |
| | | Syfo Pokémophile
Nombre de messages : 1978 Age : 33 Localisation : IYA items :
Personalized field : 26 jetons Réputation : 8 Points : 6779 Date d'inscription : 09/08/2007
Profil TI: 80, 82, 83, 83+, 84+ TO: 2 945 [GAIN * 1.1] Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 13:22 | |
| Bah non puisque sur la Ti c'est attache. Simple question de lisibilite, et puis c'est une habitude que j'essaie de prendre par rapport au C.
edit: au fait Tama, la il n'y a que la premiere moitie de cette lecon (et encore, ptet meme moins) |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 14:16 | |
| oui j'm'en doute :) mais j'suppose que tu l'as déjà fini pour les TO (on verra à la fin si ça mérite plus XD) |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6298 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 14:53 | |
| ah oui, Syfo, c'est pas important du tout, mais j'ai toujours vu que ya 99% des programmes qui utilisent K comme variable de getkey |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 14:54 | |
| moué, c'est encore un détail de toute façon, il explique juste le principe, alors G ou K... |
| | | ProgVal modérateur
Nombre de messages : 4107 Age : 173 Localisation : In da cloud items : o Personalized field : Réputation : -4 Points : 6738 Date d'inscription : 09/08/2007
Profil TI: V200 - NSpire TO: 120 [2352 - 2%] Spécialité: Programmation web
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 15:01 | |
| En 68k, c'est c qui est utilisée. |
| | | AdRiWeB amis
Nombre de messages : 3655 Age : 31 Localisation : Juste sous mes cheveux Loisirs : Internet, programmation, TI, musique, tennis-de-table ... Humeur : ^^ items : o Personalized field : Réputation : 0 Points : 6298 Date d'inscription : 12/08/2007
Profil TI: TI-84 Plus, nspire CAS TO: 2429 {2} Spécialité: Basic z80
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 15:04 | |
| oui, mais la on parle des z80
bon allez, no poste plus jusqu'a ce que il arrive un truc important ^^ |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 15:09 | |
| ProgVal>ça dépend des programmeurs... |
| | | ProgVal modérateur
Nombre de messages : 4107 Age : 173 Localisation : In da cloud items : o Personalized field : Réputation : -4 Points : 6738 Date d'inscription : 09/08/2007
Profil TI: V200 - NSpire TO: 120 [2352 - 2%] Spécialité: Programmation web
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 16:07 | |
| Bah écoute, c'est comme ça dans le manuel TI. Alors je fais comme ça.
Dernière édition par ProgVal le Sam 23 Fév 2008, 20:08, édité 1 fois (Raison : Pour que Tama voit mieux :D) |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 16:10 | |
| oui mais toi != tous les programmeurs ! |
| | | tama Admin
Nombre de messages : 12376 Age : 32 Localisation : DTC ? :triso: Humeur : =) items : o Personalized field : huh ? oO Réputation : 3 Points : 9457 Date d'inscription : 08/08/2007
Profil TI: 84+, 89 tita, 89 tita TO: infini :p Spécialité: C 68k
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites Sam 23 Fév 2008, 16:15 | |
| ProgVal>message supprimé (cf annonce) |
| | | Contenu sponsorisé
| Sujet: Re: [Basic] 1B : Animer l'ecran avec des sprites | |
| |
| | | | [Basic] 1B : Animer l'ecran avec des sprites | |
|
Page 1 sur 3 | Aller à la page : 1, 2, 3 | |
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
|
|