R * (X1,Y1) = (X2,Y2)
/cos(angulo) -sen(angulo)\ = R
\sen(angulo) cos(angulo)/
marioqn escribió:Si eso si que lo tengo claro, pero creo que no es lo que necesito.
Vamos a ver, aquí hay dos aspectos a diferenciar.
Por un lado tenemos el coche que está pintado en pantalla, que se mueve a la perfección en cualquier dirección y se rota perfectamente.
Por otro lado tenemos una matriz auxiliar que representa al coche y que contiene su posición inicial con 0 y 1 para saber si es zona de colisión del coche.
Entonces el problema reside en que yo al girar el coche, se gira el coche pintado en pantalla, pero la matriz auxiliar sigue siendo la inicial.
Por lo que no necesito el cálculo de un nuevo punto x,y para que se vea girado, sino necesito algo para que la matriz auxiliar de 0 y 1 se modifique para que represente lo que actualmente se está mostrando por pantalla, por ello lo de ANTONIOND no creo que me valga.
Por poneros un ejemplo, el la matriz auxiliar del coche inicial está así (recuerdo que el coche es de 32x32 no de 4x4, esto es solo una representación)
0110
0110
0110
0110
y si yo lo giro a la derecha hasta llegar a los 0 grados la matriz auxiliar debería quedar de la siguiente manera
0000
1111
1111
0000
No se si me he explicado bien. El problema está en el control de las colisiones, los movimientos del coche en pantalla son perfectos.
Gracias
marioqn escribió:Hombre es una solución, aunque un tanto chapucera (no te lo tomes a mal, te agradezco la ayuda).
Pero creo que tendré que usarla, la lástima que me da es que van a quedar las colisiones un tanto irreales, pero probaré.
A no ser que alguien me dé otro tipo de solución.
Yo creo que esto es problema de las librerías de la DS, seguro que para PC es más sencillo.
La idea que yo tenía es poder recuperar la información de la VRAM, es decir, el coche que está pintado y lo está haciendo bien, pero parece ser que ese tipo de funciones no existen o nadie por aquí las conoce.
Yo las he buscado pero no veo nada.
Creo que mi idea es buena y sencilla, y me parecería lógico que hubiese ese tipo de funciones para estos casos, pero creo que las palib no las tienen.