#include <PA9.h>
// PAGfxConverter Include
#include "gfx/all_gfx.h"
#include "gfx/all_gfx.c"
s32 x = 0; s32 y = 0;
s32 i=0;
s32 b=1;
s32 e=0;
int main(void){
PA_Init(); //PAlib inits
PA_InitVBL();
PA_InitText(0,0);
// PA_InitRand();
PA_LoadSpritePal(0, // Pantalla
0, // Numero de paleta
(void*)hola_Pal); // Nombre de paleta
PA_CreateSprite(0, // Pantalla
0, // Numero de sprite
(void*)sprite_prueba_Sprite, // Nombre de sprite
OBJ_SIZE_32X32, // Tamaño de sprite
1, // Modo de 256 colores
0, // Numero de paleta
0, 0); // Posicion X e Y en la pantalla
while(1) // Infinite loops
{
x+=1;
PA_SetSpriteX(0,0,x);
if(x==100) {
for(e=0; e<255;e++){ x-=1; PA_SetSpriteX(0,0,x);}; e=0; }
PA_OutputText(0,10,20,"%d x, %d y", x, y);
if(PA_SpriteTouched(0)){ i=i+1; PA_OutputText(0,0,0,"%d Puntos", i);
PA_DeleteSprite(0,0);}
if(Pad.Newpress.A){PA_CreateSprite(0,0,(void*)sprite_prueba_Sprite, OBJ_SIZE_32X32,1,0, 0, 0);}
if(Pad.Newpress.L){ i=0; PA_OutputText(0,0,0,"%d Puntos", i);};
PA_WaitForVBL();
}
return 0;
}
#include <PA9.h>
// PAGfxConverter Include
#include "gfx/all_gfx.h"
#include "gfx/all_gfx.c"
s32 x = 0; s32 y = 0;
s32 i=0;
s32 b=1;
s32 e=0;
s32 velocidadx = 1;
s32 velocidady = 1;
int main(void){
PA_Init(); //PAlib inits
PA_InitVBL();
PA_InitText(0,0);
// PA_InitRand();
PA_LoadSpritePal(0, // Pantalla
0, // Numero de paleta
(void*)hola_Pal); // Nombre de paleta
PA_CreateSprite(0, // Pantalla
0, // Numero de sprite
(void*)sprite_prueba_Sprite, // Nombre de sprite
OBJ_SIZE_32X32, // Tamaño de sprite
1, // Modo de 256 colores
0, // Numero de paleta
0, 0); // Posicion X e Y en la pantalla
while(1) // Infinite loops
{
x+= velocidadx;
PA_SetSpriteX(0,0,x);
if (x >= 254){
velocidadx = -1; // Volvemos la velocidad negativa para que vuelva para atras
}
if (x =< 1){
velocidadx = +1; // Volvemos la velocidad positiva para que vuelva para adelante
}
PA_WaitForVBL();
}
return 0;
} x+=1;
PA_SetSpriteX(0,0,x);
if(x==100) {
for(e=0; e<255;e++){ x-=1; PA_SetSpriteX(0,0,x);}; e=0; }bool atras = 0; // esto fuera del while
// y esto sustituyendo el cacho de código de antes, dentro del while
if (!atras){ // si no debemos ir hacia atrás
if (x < 255){ // y además x aún no ha llegado a 255
x++; // aumentamos la X 1 posición
}else{ // si llega a 255
atras=1; // activamos el movimiento contrario
x--; // y reducimos una posición la x
}
}else{ // si debemos ir hacia atrás
if (x > 0){ // y además x aún no ha llegado a 0
x--; // reducimos la X 1 posición
}else{ // si llega a 0
atras=0; // desactivamos el movimiento contrario
x++; // y aumentamos una posición la x
}
}
PA_SetSpriteX(0,0,x); // Por último, movemos el sprite según lo que se ha modificado antesamchacon escribió:Se nota que estas dormidoD. Estas diciendo que si la posicion del sprite es menor que 255 aumenta la x. Y si la posicion del sprite es mayor que 0. Disminuye la x.
Conclusion?. El sprite se queda quieto sin moverse, ya que se esta moviendo a la izquierda y a la derecha a la vezDD
Saludos
![como la niña del exorcista [360º]](/images/smilies/nuevos/vueltas.gif)
(como soy muy impaciente para que se quedase a la mitad de la pantalla y no tener que esperar xD)
highfredo escribió:gracias keda ^^
lo del 100 fue porque estuve probando una cosa y se me paso cambiarla al poner aqui el codigo(como soy muy impaciente para que se quedase a la mitad de la pantalla y no tener que esperar xD)
edit: cuando termine os pongo mi primera obra
keda escribió:amchacon escribió:Se nota que estas dormidoD. Estas diciendo que si la posicion del sprite es menor que 255 aumenta la x. Y si la posicion del sprite es mayor que 0. Disminuye la x.
Conclusion?. El sprite se queda quieto sin moverse, ya que se esta moviendo a la izquierda y a la derecha a la vezDD
Saludos
Si, pero te has olvidado de un pequeño detalle, la variable "atras". No hace las dos cosas a la vez, sino que hace una u otra en función del valor de ésta.
EDIT: Lo acabo de probar por si acaso estaba equivocado, pero no, funciona bien. Adjunto la prueba ^^