if (mouse.velocidad == 0){
mouse.velocidad++;
}
// Esto es para evitar velocidades negativas, el sprite tiene su propia velocidad se me olvido comentarlo...
if (mouse.velocidad == 10){
mouse.velocidad--;
}
// Esto es para ponerle un limite a la velocidad
mouse.velocidad += Pad.Newpress.R - Pad.Newpress.L;
// Esto es para cambiar la velocidad...
mouse.x += (Pad.Held.Right - Pad.Held.Left)*mouse.velocidad;
mouse.x += (Pad.Held.A - Pad.Held.Y)*mouse.velocidad;
// Mover el sprite en su rango x...
mouse.y += (Pad.Held.Up - Pad.Held.Down)*mouse.velocidad;
mouse.y += (Pad.Held.B - Pad.Held.X)*mouse.velocidad;
//mover el sprite en su rango y...
PA_SetSpriteXY(0,0,mouse.x,mouse.y);
// Centra el sprite en las variables anteriores que hemos modificado para asi moverlo...
scrollx += (Pad.Held.Right - Pad.Held.Left)*mouse.velocidad;
scrolly += (Pad.Held.Up - Pad.Held.Down)*mouse.velocidad;
// Lo mismo del sprite pero para el scroll, lo de la velocidad es por si el sprite va mas rapido, que el fondo tambien vaya
PA_BGScrollXY(0,2,scrollx,scrolly);
// Hago scroll usando las variables anteriores que hemos modificado...
Puede que sea eso?, o igual es que no lo as puesto akiamchacon escribió:PA_BGScrollXY(0,2,scroll.x,scroll.y);
if (mouse.velocidad == 0){
mouse.velocidad++;
}
// Esto es para evitar velocidades negativas, el sprite tiene su propia velocidad se me olvido comentarlo...
if (mouse.velocidad == 10){
mouse.velocidad--;
}
// Esto es para ponerle un limite a la velocidad
mouse.velocidad += Pad.Newpress.R - Pad.Newpress.L;
// Esto es para cambiar la velocidad...
mouse.x += (Pad.Held.Right - Pad.Held.Left)*mouse.velocidad;
mouse.x += (Pad.Held.A - Pad.Held.Y)*mouse.velocidad;
// Mover el sprite en su rango x...
mouse.y += (Pad.Held.Up - Pad.Held.Down)*mouse.velocidad;
mouse.y += (Pad.Held.B - Pad.Held.X)*mouse.velocidad;
//mover el sprite en su rango y...
PA_SetSpriteXY(0,0,mouse.x,mouse.y);
// Centra el sprite en las variables anteriores que hemos modificado para asi moverlo...
scrollx += (Pad.Held.Right - Pad.Held.Left)*mouse.velocidad;
scrolly -= (Pad.Held.Up + Pad.Held.Down)*mouse.velocidad;
// Lo mismo del sprite pero para el scroll, lo de la velocidad es por si el sprite va mas rapido, que el fondo tambien vaya
PA_BGScrollXY(0,2,scrollx,scrolly);
// Hago scroll usando las variables anteriores que hemos modificado...
Plata escribió:scrolly -= (Pad.Held.Up + Pad.Held.Down)*mouse.velocidad;
nazareth escribió:Puede que sea eso?, o igual es que no lo as puesto akiamchacon escribió:PA_BGScrollXY(0,2,scroll.x,scroll.y);
Plata escribió:
Joder... Pero enserio no os da para eso??? joder ke el cerebro esta para algo xDDD hay tienes recalcado el error y correguido... u.u
salu2
scrolly -= (Pad.Held.Up - Pad.Held.Down)*mouse.velocidad;
keda escribió:joe Plata, lo que me ha costado ver el recalque ese que has hecho xDDD
Lo pongo independiente para facilitárselo al pobre amchaPlata escribió:scrolly -= (Pad.Held.Up + Pad.Held.Down)*mouse.velocidad;
Saludos
amchacon escribió:
Aunque te has equivocado en una cosa, tendria que ser asi:scrolly -= (Pad.Held.Up - Pad.Held.Down)*mouse.velocidad;
De lo contrario, el scroll nunca irá para arriba. Yya que el resultado siempre saldra negativo presione la tecla que pulses (1+0 = 0+1).
scrolly -= (Pad.Held.Up + Pad.Held.Down)*mouse.velocidad;
Plata escribió:amchacon escribió:
Aunque te has equivocado en una cosa, tendria que ser asi:scrolly -= (Pad.Held.Up - Pad.Held.Down)*mouse.velocidad;
De lo contrario, el scroll nunca irá para arriba. Yya que el resultado siempre saldra negativo presione la tecla que pulses (1+0 = 0+1).
Pufffff no existe facepalm para expresar lo que siento xDDDD
Haber, alma de cantaro, si haces eso, si le das arriba o abajo siempre ira hacia abajo. Tiene que ser como yo he dicho.scrolly -= (Pad.Held.Up + Pad.Held.Down)*mouse.velocidad;
ASí SI QUE FUNCIONA xDDDDDD
salu2
Scrolly -= (1 - 0)*1;
Scrolly -= 1
Scrolly += -1
scrolly -= (0 - 1)*1;
scrolly -= -1
scrolly += 1
scrolly -= (1 + 0)*1;
scrolly -= 1
scrolly += -1
scrolly -= (0 + 1)*1;
scrolly -= 1
scrolly += -1
amchacon escribió:Cuidaito con los errores tontos plata
amchacon escribió:
Esto... Si mantengo presionado la tecla arriba con velocidad 1:Scrolly -= (1 - 0)*1;
Scrolly -= 1
Scrolly += -1
Disminuiria una coordenada en el eje Y. Como el eje Y empieza ARRIBA Y NO ABAJO (si te fijas, el punto 0,0 es la esquina superior izquierda y el 256,192 es la esquina inferior derecha....). Al disminuir su valor se desplazaria a su lugar de origen, la parte de ARRIBA.
Y ahora si pulsas abajo:scrolly -= (0 - 1)*1;
scrolly -= -1
scrolly += 1
Aumenta en uno el valor de la y. Como ya he dicho que el eje de la y es inverso, ira hacia abajo....
Funciona verdad?. Pruebalo tu mismo si no me crees...
Probemos ahora con tu metodo, si pulso arriba:scrolly -= (1 + 0)*1;
scrolly -= 1
scrolly += -1
Vale eso si funciona, si le das a arriba disminuyes el eje Y y por tanto sube...
Probemos ahora si le damos a abajo:scrolly -= (0 + 1)*1;
scrolly -= 1
scrolly += -1
Curioso no?. Si le damos a abajo el sprite se mueve hacia arriba... Por tanto tu metodo no sirve, la razon es por lo que te he dicho. En las sumas da igual como ordenes los valores que siempre saldra el mismo resultado, por tanto aqui da igual la tecla que pulses que siempre se movera hacia el mismo sitio...
Cuidaito con los errores tontos plata
Saludos