Hemos aprendido en anteriores tutoriales a utilizar los botones de la PsP tanto para mover a nuestro personaje como para realizar ciertas acciones: saltar, disparar, etc. Pero lo que aun no sabemos es programar el stick analogico para mover al protagonista de nuestro juego. Este es el primer codigo que traduzco que no pertenece a Charlie, pero no recuerdo en qué web lo encontré, asi que pido disculpas si alguien se siente ofendido porque no aparezca su nombre.
Empecemos.
--Creamos los Colores. blanco = Color.new(255,255,255) --Creamos el personaje. personaje = Image.createEmpty(32,32) personaje:clear(blanco) --Coordenadas del personaje personajex = 32 personajey = 32
Si sois fieles seguidores de mis traducciones no tendréis problemas con estre fragmento. Primero creamos el color blanco, después creamos una imagen vacia de 32x32 pixeles y la coloreamos de blanco. A continuacion definimos dos varibles que seran la posicion inicial de nuestro personaje. Ahora empecemos con el bucle principal:
--Bucle principal
while true do
pad = Controls.read()
dx = pad:analogX()
dy = pad:analogY()
personajeXvelocidad= dx / 120 * 2
personajeYvelocidad= dy / 120 * 2
Primero leemos la entrada de controles (normalmente lo llamo entrada de botones, pero esta vez lo que lo vamos a leer es el analogico). Guardamos el valor X del analogico en la variable dx y el valor Y en dy. El rango de valores del analogico va de -128 a 127. A continuacion calculamos la velocidad X e Y del personaje.
--Movemos el personaje
if dy < 0 then
personajey = personajey + personajeYvelocidad
end
if dx < 0 then
personajex = personajex + personajeXvelocidad
end
if dy > 0 then
personajey = personajey + personajeYvelocidad
end
if dx > 0 then
personajex = personajex + personajeXvelocidad
end
Con esta serie de IFs movemos al personaje. El primer IF comprueba si pulsamos hacia ARRIBA en el analogico y de ser asi, movemos el personaje en esa direccion. El segundo IF comprueba si pulsamos hacia la IZQUIERDA, el tercer IF comprueba hacia ABAJO y el ultimo hacia la DERECHA.
--Mostramos por pantalla nuestro personaje
screen:clear()
screen:blit(personajex,personajey,personaje,true)
screen:print(10,10,"analogX: "..dx,blanco)
screen:print(10,20,"analogY: "..dy,blanco)
screen:flip()
screen:waitVblankStart()
end
La ultima parte del codigo limpia la pantalla, muestra el personaje y las coordenadas del analogico (no del personaje en pantalla) y espera hasta que suceda algo. Acabamos con el end del while que comienza el bucle principal.
Como veis, es bastante sencillo y ahora disponéis de dos formas de mover vuestro personaje por la pantalla de la PsP.
Comentarios
Woo...
Pero que simple, llevo años tratando de habiloitar el análogo de mil formas xD
Saludos
es verdad
colavoro con u comentario a la causa pero realmente no creo k se un tema de muxo interes sorry pero es la veradad XD el analogo si lo puedo ocupar bien y si no no
Pues con más de 200
Pues con más de 200 lecturas algún interés producirá, digo yo.
Jejej, ya comentare algo
Jejej, ya comentare algo cuando lo lea a fondo y lo use, pero como siempre un 10 pa ti
A que esperas? entra ya: <<<< http://soslibre.iespana.es>>> Una nueva forma de ver las webs, pero.... ¿funcionara?
Elender no hay forma de que
Elender no hay forma de que es este quieto y solo se mueva cuando lo pulses?
Me temo, N2, que tu
Me temo, N2, que tu personaje no se está quieto porque tienes el analógico desajustado y siempre marca una dirección, es algo muy común. No es por culpa del código Lua. Saludos.
Descargar Homebrew de BETA, gratis. Visualizar un tutorial, gratis. Iniciarse en la programacion en español, gratis. Colaborar a que la scene PSP en español crezca, no tiene precio.
NOOOOOOOO!!! no me jo**s!!??
NOOOOOOOO!!! no me jo**s!!?? como se arregla, yo creia que estaba en perfectas condiciones.
:S tengo la psp echa una mierda snif
Tio no te alarmes,
por si acaso mira alguna otra aplicacion (o juego de psp mejor) que utilize el stick y si funciona sera de otra cosa, tambien prueba de apagar la consola sin tocar el stick, enciendela y buelbe a probar, si no me temo que igual la tendras que enviar a reparar.
Uff, por fortuna solo me va
Uff, por fortuna solo me va mal con este tuto, los juegos me va perfect y con el irshell tambien, si no se estaria cambiando las opciones, ya que con el jostick se sale o ejecuta cosas.
Elender creo que es el tuto
Si tienes el Pro Evolution
Si tienes el Pro Evolution Soccer 5 pruebalo, a mi me pasa que el jugador que tiene la pelota a veces corre él solito en alguna dirección debido al stick analógico. En cuanto al tuto, yo lo he probado, por supuesto, y hace lo que dice hacer.
Descargar Homebrew de BETA, gratis. Visualizar un tutorial, gratis. Iniciarse en la programacion en español, gratis. Colaborar a que la scene PSP en español crezca, no tiene precio.
probare.... ya te dire como
probare.... ya te dire como me ha ido
sustituiria
f dy < 32 then
personajey = personajey + personajeYvelocidad
end
if dx < 32 then
personajex = personajex + personajeXvelocidad
end
if dy > -32 then
personajey = personajey + personajeYvelocidad
end
if dx > -32 then
personajex = personajex + personajeXvelocidad
end
no se si es necesario un control viendo que si no es ninguno de estos casos que el personaje no se mueva, pero creo que es inecesario.
¡Un verdadero guerrero Klingon nunca utiliza comentarios en su código!
¡Un verdadero guerrero Klingon nunca utiliza comentarios en su código!
mordi me sorprendes
mordi me sorprendes tÃo
saludos pspero
sensibilidad
El pad analogico, toma valores entre -128 y 127, pero los valores entre -32 y 32 deben ignorarse porque pueden ser producidos por la sensibilidad, mal estado o mal calibrado del pad. Controla que cuando se toman estos valores no se mueva, y veras como todo funciona a la perfeccion.
¡Un verdadero guerrero Klingon nunca utiliza comentarios en su código!
¡Un verdadero guerrero Klingon nunca utiliza comentarios en su código!
Esto... he jugado al ESDLA
Esto... he jugado al ESDLA tacticas que usa el joystick para mover la camara y la camara esta quieta, por lo tanto el jostick esta bien; no intentes ayudarme que me asustas xDDDDD
200 lecturas y ningún comentario.
200 lecturas y ningún comentario. Qué pena.
Hombreee, no te
Hombreee, no te cabrees...
Me parece muy útil, si tuviera el valor de empezar a programar, lo utilizarÃa!! :P
Para serte sincero ya habÃa visto varios tutoriales LUa y echaba en falta poder usar el stick... asà q personalmente creo q es de lo más útil q has puesto, da mucha más profundidad a la programación.... si no serÃa muy cuadriculado (arriba, izquierda....) o sólo por botones (Cuadrado hace ésto, rectángulo lo otro...)
Asà q mi enhorabuena, buen trabajo de documentación