Anuncios Google

Ayuda Scroll

Hola

He hecho un scroll pero no se como pararlo, es decir, lo que quiero , es que cuando el sprite colisione, se pare el scroll, el metodo que tengo ahora no hace eso, el sprite colisiona y el scroll sigue.

El codigo del Scroll es este:

        scrollx += (Pad.Held.Right - Pad.Held.Left);//scroll
        scrolly += (Pad.Held.Down - Pad.Held.Up); //scroll
        PA_BGScrollXY(0,3,scrollx,scrolly); //scroll
        PA_BGScrollXY(0,2,scrollx,scrolly); //scroll
        PA_BGScrollXY(0,0,scrollx,scrolly); //scroll

Y el metodo que uso para las colisiones, es el tipico mapa de colisiones...

Alguna idea?

Saludos y gracias ^^


Mi blog con mis paranoias  XD http://apsspa.blogspot.com


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de Draco el dragon

Pues

quiza algo asi servira... aunque nunca estoy seguro de algo al 100% xD

if (!codigo de la colision){
codigo del scroll;
}
else if (codigo de la colision);

El else para mi que sobraria, pero por si acaso xD

Imagen de APSSPA

Error

main.c
c:/Users/APSSPA/Desktop/Proyectos_Ds/My_Life/source/main.c: In function 'main':
c:/Users/APSSPA/Desktop/Proyectos_Ds/My_Life/source/main.c:45: error: wrong type argument to unary exclamation mark
c:/Users/APSSPA/Desktop/Proyectos_Ds/My_Life/source/main.c:52: error: void value not ignored as it ought to be
make[1]: *** [main.o] Error 1
make: *** [build] Error 2

 

Ya habia intentado algo asi... y me salia el segundo error, pero el 1º es nuevo xD


Mi blog con mis paranoias  XD http://apsspa.blogspot.com

Imagen de Draco el dragon

Pues que raro...

¿Revisaste si los parentesis, etc. estan bien puestos? Tanto en el if como en el else como en el codigo del scroll, haber si va a ser eso :S

Imagen de APSSPA

Yo creo que esta bien....

            if (!APS_Colision(0,1,3,16,19,0,0,0)){
                scrollx += (Pad.Held.Right - Pad.Held.Left);
                scrolly += (Pad.Held.Down - Pad.Held.Up);
                PA_BGScrollXY(0,3,scrollx,scrolly);
                PA_BGScrollXY(0,2,scrollx,scrolly);
                PA_BGScrollXY(0,0,scrollx,scrolly);
            }
            else if (APS_Colision(0,1,3,16,19,0,0,0));

 

Para mi que esta bien (Para las colisiones uso una funcion hecha por mi, pero que funciona muy bien)


Mi blog con mis paranoias  XD http://apsspa.blogspot.com

Imagen de Draco el dragon

Pues entonces...

No se...

Solo por curiosidad, intenta poner la funcion entre parentesis:

            if (!(APS_Colision(0,1,3,16,19,0,0,0))){
                scrollx += (Pad.Held.Right - Pad.Held.Left);
                scrolly += (Pad.Held.Down - Pad.Held.Up);
                PA_BGScrollXY(0,3,scrollx,scrolly);
                PA_BGScrollXY(0,2,scrollx,scrolly);
                PA_BGScrollXY(0,0,scrollx,scrolly);
            }
            else if ((APS_Colision(0,1,3,16,19,0,0,0)));

Lo se, es poner por poner, pero por curiosidad, haber si asi funciona :S

Imagen de APSSPA

Nada...

No anda... No se te ocurre otro metodo?

Imagen de The Dark Master

La acción es void?

Si es asi, pasala a int y si colisiona pon return 1;, si no colisiona pues return 0;

en el if tendrias que poner

if (acción == 1){

¿interpretacción?, si la acción devuelve el número 1.

Yo diria que asi iria.

Salu2


Imagen de exterminator

Hombre

Ambos deberíais saber que NO se puede usar la negación ! en una función void, que no devuelve valores, más que nada porque no cambia nunca de valor, siempre será void.

Prueba a cambiar tu función void APS_Colision a bool APS_Colision y modifica su código de manera que, cuando haya colisión devuelva 1.

Salu2


Para recibir ayuda por parte de otros usuarios más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda que accediendo al Manual del perfecto forero y las Normas de la Comunidad aprenderás trucos para resolver tus dudas antes.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.