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
Pues
quiza algo asi servira... aunque nunca estoy seguro de algo al 100% xD
El else para mi que sobraria, pero por si acaso xD
Street Fighter X Tekken Mobile CMV 2
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
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
Street Fighter X Tekken Mobile CMV 2
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
Pues entonces...
No se...
Solo por curiosidad, intenta poner la funcion entre parentesis:
Lo se, es poner por poner, pero por curiosidad, haber si asi funciona :S
Street Fighter X Tekken Mobile CMV 2
Nada...
No anda... No se te ocurre otro metodo?
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
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.