Hola chic@s, y sbre todo programadores xD
Llevo ya un tiempo programando un juego, y los mapas de colisiones que uso siempre tienen negro y blanco unicamente, pero hace unos días, los nuevos mapas que uso tienen más colores, y esos colores no me los detecta PAlib y no me deja usarlos.
Este es el mapa de prueba que uso y que no me detecta ni el azul, ni el verde, ni el rojo:
Uso estas combinaciones de RGB para que me los detecte:
Y no me detecta ninguno, no detecta las colisiones con esos colores.
Necesito que me digáis como debería hacerlo para que me los detecte, aunque si me decís otros tres colores para que me los detecte tampoco pasa nada. Lo que necesito son tres colores y su código en RGB a parte de negro y blanco para que PALib me los detecte como colisiones.
Me he vuelto loco buscando pero no tengo nada y no soy capaz.
Espero que me podáis echar una mano.
Salu2
Gracias por la firma The Dark Master
Para detectar los colores.
PA_EasyBgGetPixel detecta el número de color en la paleta, por lo que no sirve para ese tipo de colisiones, es mejor que uses PA_EasyBgGetPixelCol, se usa igual que el anterior, pero te devuelve el color.
Pones por ejemplo:
if (PA_EasyBgGetPixelCol(numero de pantalla, numero de capa, coordenadasx, coordenadasy)==PA_RGB(0,31,0)){ /*lo que pase*/ }
Ese trozo dice:
Si el pixel situado en coorx y coory en esa capa tiene el color verde, "lo que pase" pasará.
Vamos, digo yo que usabas PA_EasyBgGetPixel y no PA_EasyBgGetPixelCol, si sí usabas esa no sé...
No, no es eso
Uso la función con "col", no la que no lo incluye :P.
Yo creo que son los colores, que no uso los adecuados, ¿no hay nadie que me pueda pasar un ejemplo de mapa de colisiones que le funcione?
Salu2
Gracias por la firma The Dark Master
Una cosa.
Pon:
PA_OutputText(0,0,0,"%d ",PA_EasyBgGetPixelCol(0, 2, Stylus.X, Stylus.Y));
Y anota el número que te da cada color, luego los usas en el if en vez de PA_RGB.
Pero me da números de 5 cifras
Y si uso canal rgb, ¿como los uso para las colisiones?
Simple
Cambia la parte en la que lo compruebes con canal RPG por ese número. En vez de PA_RPG (0,0,0), por == 45632 o el número que tengas.
Salu2!
¿Quieres estar totalmente informado sobre el universo 3DS? Visita Magic3DS.
También puedes estar al tanto de toda la actualidad de 3DS en Twitter: @Magic3DS