Duda prioridad sprites

Nas a todos quien han abierto el tema, vengo porque estoy programando en PAlib y tengo una duda para los pro programadores.

estoy programando un rpg y me gustaria saber como puedo hacer para cambiar la prioridad de 1 sprite respecto al eje y.
de manera que quando npcy>jugadory el jugador quede detras

he probado PA_setspriteprio pero eso segun entiendo solo cambia la prioridad respecto el fondo

imagino que tendria que cambiar-lo en el momento de crear sprite
PA_createsprite(X, prioridad...
pero dudo que tenga que ir creando y borrando el jugador :S

si alguien puede darme alguna idea de como hacer-lo :S.
seguramente sera una obviedad pero soy asi de tonto XD
El sprite numero 0 está por encima del numero 1 y así sucesivamente. No hay otra forma de hacerlo. Siempre puedes hacer que se intercambien los gráficos, que no se como se hará en PAlib...
genial T.T entonces no se puede hacer

bueno gracias por intentar-lo almenos XD

tendre k hacerlo partir los sprites y poner la otra mitad como fondo :D
creo que eso funcionara aunque es mucho mas trabajo

gracias dw
Haz una función que borre ese sprite y cree el mismo en otro número. Y se dice intentarlo, sin guión en medio, todo junto XD
alexpowerup escribió:Haz una función que borre ese sprite y cree el mismo en otro número. Y se dice intentarlo, sin guión en medio, todo junto XD

Nah... Lo suyo es intercambiar los datos del sprite, si los borras y los creas PAlib los copia de nuevo a la VRAM, y eso tarda.
porque alguien sabe si con PA_SetSpriteExtPrio podria funcionar?

sino como borrar y copiar tarda mucho, sabeis si con el PA_CloneSprite no los vuelve a copiar?

P.D. intentar-lo ... srry soy mu catalan XD
cylon escribió:porque alguien sabe si con PA_SetSpriteExtPrio podria funcionar?

sino como borrar y copiar tarda mucho, sabeis si con el PA_CloneSprite no los vuelve a copiar?

P.D. intentar-lo ... srry soy mu catalan XD

Estas cosas suele ser bueno probarlas antes de preguntar... No se tarda nada. Buscando en google esa función he llegado a esto: http://www.palib-dev.com/wiki/doku.php? ... priorities
Igual te sirve.
eso ya lo havia visto y ya lo he intentando de varias maneras pero no funciona por eso lo pregunto xd
no estoy seguro de k la prioridad extended sea lo mismo que el numero del sprite.


algunas partes del ultimo codigo que probe:
con dos sprites creados y la variable y como la posicion del player
el player es el sprite num 0
otro sprite es el 1
PA_SetSpriteExtPrio(1,1,30);
prio = y;
if (Pad.Held.Y){
         PA_SetSpriteExtPrio(1,0,prio);
          }

y con esto el player siempre queda delante
puse que se pusiera la prioridad al apretar un boton solo para poder testear-lo bien.

tambien he probado a saber si funcionaba con PA_GetSpritePrio pero segun vi esto solo coje la prioridad del fondo y no encontre un parecido para la extended
cylon escribió:eso ya lo havia visto y ya lo he intentando de varias maneras pero no funciona por eso lo pregunto xd
no estoy seguro de k la prioridad extended sea lo mismo que el numero del sprite.

he probado muy basicamente

algunas partes del codigo que probe:
con dos sprites creados y la variable y como la posicion del player
PA_SetSpriteExtPrio(1,1,30);
prio = y;
if (Pad.Held.Y){
         PA_SetSpriteExtPrio(1,0,prio);
          }


puse que se pusiera la prioridad al apretar un boton solo para poder testear-lo bien.


Igual te falta PA_InitSpriteExtPrio(1);

PD: Intenta escribir sin guiones, anda... xD
Gracias :D
pensaba que eso solo te daba mas sitios para las prioridades.

ahora el quando aprieto el boton siempre queda el player detras pero eso seguramente sera algun error tonto mio. gracias por la ayuda :D

me voy a buscar el error.
9 respuestas