MSX Village forum

L'école Sprites et Xbasic

Bonifaz Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 23/08/2012 à 18h47

Messages: 37

Le 28/08/2014 à 14h35
Salut à tous,

je voudrais savoir, si quequ'un possede un listing tout fait, tout bete qui affiche un sprite multi couleurs
(avec plusieurs layers a ce que j'ai compris, 2 sprites superposés?)

Mon savoir etant extremement limité, je dois avouer que je ne comprends pas comment on fait pour afficher ceci,
les listings dispos sur le site contenant beaucoup d'autres processus, collisions etc, j'aimerais avoir la vue claire la dessus.

Comme dit dans mon titre je prevois de bosser sous Xbasic,
je ne sais pas quel est la meilleure solution à utiliser pour avoir des sprites qui peuvent etre assez nombreux et bien bouger,
j'imagine 4 couleurs? en general sur les jeux msx c'est ce qu'on y voit...

J'ai recherché plus de doc sur les sprites multi couleurs, mais c'est pas du tout simple à comprendre...

Merci bien.
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 28/08/2014 à 17h21
MSX1 ou MSX2 ?

En MSX1, les sprites sont unicolores, mais on peut les superposer, jusqu'à 4 maximum.
En MSX2, les sprites peuvent avoir deux couleurs par ligne, et on peut les superposer, jusqu'à 8 maximum. Edité par Metalion Le 28/08/2014 à 17h31


MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
Bonifaz Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 23/08/2012 à 18h47

Messages: 37

Le 28/08/2014 à 18h51
okay.
Haaaaa c'est pour ca que ya des jeux dont les sprites ont plus de couleurs...

oui MSX2, je pensais que comme j'avais dit X-basic, c'etait evident.
Merci Metallion ca m'eclaire!
z80 Membre non connecté

Villageois

Rang

Avatar

Inscrit le : 17/05/2013 à 22h52

Messages: 987

Le 28/08/2014 à 18h58
utilise le bit OR des sprites (MSX2 je crois) et avec deux sprites superposés tu obtient 4couleurs. en fait 4-1=3 la couleur 0 est transparente on utilisait cette astuce dans MKID :)
Le personnage de MKID utilise3 couche de sprites pour avoir 7 couleurs :)


TurboR GT (1Mo), CANON V20! ( en kit, modif 2+ en cours) :top
Pas encore retrouvés: V9990, Grafx9000, SUNRISE IDE 2x CF, SUNRISE MOONSOUND, FM PAC, MUSIC MODULE, NMS8280, SD SNATCHER,... :\'(
   
Bonifaz Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 23/08/2012 à 18h47

Messages: 37

Le 28/08/2014 à 19h50
Question importante quand on parle de sprite sur MSX2 on parle de sprites de 8X8 pixels ou 16x16 ?
Maxi il yen a 32 je crois...Ca va vite...
Metalion Membre non connecté

Conseiller Municipal

Rang

Avatar

Inscrit le : 23/12/2009 à 15h32

Messages: 1503

Le 28/08/2014 à 20h20
8x8 ou 16x16, les deux tailles sont possibles, c'est un simple paramètre d'affichage.
La seule différence c'est le nombre que tu peux stocker en VRAM : 256 en 8x8 et 64 en 16x16.
La limite d'affichage est de toutes façons 32 sprites dans les deux cas.

Pour de simples exemples en MSX2, je te conseille "Pratique du MSX2" qui est dispo au téléchargement dans la bibliothèque du village.



MSX1: Daewoo DPC-200 / Yamaha CX5M
MSX2: Sony HB-F9P
MSXVR
Vidéo: V9990 (GFX-9)
Audio: MSX-Music (FM-PAC) / MSX-Audio (Audiowave) / OPL4 (Monster Sound FM Blaster) / OPNB (Neotron)
   
Bonifaz Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 23/08/2012 à 18h47

Messages: 37

Le 29/08/2014 à 12h27
Salut j'ai essayé de me faire un petit prog qui affiche des sprites, ca marche,
mais sous screen5 ca passe pas: les sprites aparaissent puis disparaissent aussi tot.
Sous screen1 par contre, pas de blemes.

J'imagine que quelque chose doit etre changé pour que ca marche aussi sous screen5.
Si vous pouvez m'eclairer de nouveau, merci...

30 screen 5,2
60 for I=1to32:read A
70 b$=b$=chr$(A): NEXT
80 SPRITE$(0)=B$
90 FOR I=0 TO 3
100 put SPRITE I,(I*32,16),I+1,0
110 next
120 put sprite5, (124,0),8,0
130 end
140 data 0,0...
150 data 0,0...
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 29/08/2014 à 16h59
Salut Bonifaz

En résumé ton programme crée un sprite 16x16

il l'affiche sur les plans 0 à 3 en trois couleurs différentes espacés de 32p.

puis affichage d'un dernier sur le plan 5... puis retour au mode texte!

Tu dois "boucler ton programme si tu veux qu'il reste en screen5 par un 130 goto130 par exemple.

Tu peux en sortir par un "ctrl+stop" (attention ça ne marche pas sous Xbasic!)



Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
Bonifaz Membre non connecté

Touriste

Rang

Avatar

Inscrit le : 23/08/2012 à 18h47

Messages: 37

Le 31/08/2014 à 10h06
merci MSXosaure, j'avais en effet essayé de faire une loop sans y arriver.
MSXosaure Membre non connecté

Maire-adjoint

Rang

Avatar

Association

Inscrit le : 03/10/2009 à 00h09

Messages: 781

Le 03/09/2014 à 00h12
De rien et puisqu'on parle de sprites multicolores avec OR il y a le wiki de mec qui explique très bien la technique.
Wiki: The OR Color


Le MSXien le plus à l'ouest :fou ... ou presque :D
osaurer
   
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie