ctrl+1 affiche/cache le BG0 (qui est le bg de la PCE le BG1 est celui de la SGX)
ctrl+2 affiche/cache les SPR0(qui sont les sprites de la PCE)
Et tu verras que ton sprite est bien au dessus du BG donc de priorité HIGH .
Parce que ton explication met fait penser qu'il n'y a qu'un background et un plan pour les sprites.
Mais c'est exactement ça .

si tu codes sur PCE .
La priorité des sprites fait que soit il est affiché sur le BG soit derrière et visible que si le BG a des pixels transparents .
Tu ne peux pas définir des priorités sur chaque tile, ça concerne le BG entier .
Vu que j'utilise pas les macros de pceas, je peux que te donner un exemple d'une demo de ccovell, je pense que mooz pourra mieux te renseigner que moi .
Code : Tout sélectionner
; PICTURE DATA
.data
; pictures can contain up to 256 colors, but as you know the
; PC-Engine can display only 16 colors per 8x8 tile, so be careful
; when making pictures. And also take care of the color alignment,
; a tile can use, for example, color 0 to 15, but not color 4 plus
; color 26 plus color 125, all the colors used in a tile must
; belong to the same sub-palette (colors 0 - 15, 16 - 31, etc...)
;
; if you have problems making such pictures, use only 16 colors
; PCX files, you will have less problems
PIC_BANK .func (((\1)*6)+MAIN_BANK+1) ; a little function to help
; referencing banks
PIC .macro ; hmm a macro could be handy too...
.bank PIC_BANK(\1)
.org $8000
.incchr \2,40,32
.bank PIC_BANK(\1)+5
.org $8000
.incpal \2
.org $8200
.incbat \2,$1000,40,32
.endm
PIC 0,"grid.pcx" ; what would we do without macros? :)
Le chargement de l'image se fait comme ça :
Code : Tout sélectionner
; ----
; load_pic
; ----
; upload a whole pic in VRAM
; ----
load_pic:
lda <pic ; get the current pic number
asl A ; mul it by 6 (each picture takes six banks,
sta <_al ; five for the graphics and one for the BAT
asl A ; and the palette)
add <_al
add #2 ; add 2 - our pictures are stored starting
; from bank 2
sta <_ah ; store the bank index
; load the graphic in VRAM, one bank at a time
lda <_ah ; first bank
tam #4
vload $1000,$8000,#$1000
inc <_ah ; second bank
lda <_ah
tam #4
vload $2000,$8000,#$1000
inc <_ah ; third bank
lda <_ah
tam #4
vload $3000,$8000,#$1000
inc <_ah ; fourth bank
lda <_ah
tam #4
vload $4000,$8000,#$1000
inc <_ah ; fifth bank
lda <_ah
tam #4
vload $5000,$8000,#$1000
; vsync before setting the palette, to avoid snow
vsync
; now set the palette
inc <_ah
lda <_ah
tam #4
set_bgpal #0,$8000,#16
set_sprpal #0,$8000,#16
; and finaly copy the BAT
batcpy $0001,\
$8200,\
#40,\
#32
; ok, done
rts
J'espère que ça pourra t'aider
