shao wrote:No, no lo he visto en ningún juego es solo que creo que debería funcionar así, ahora mismo si pulsas la pantalla pero no mueves el dedo, el Sprite se mueve en una dirección que yo no he decidido, yo solo he pulsado la pantalla para prepararme a hacer un movimiento, no lo he indicado que se mueva, para indicar movimiento entonces hay que arrastrar el dedo hacia la dirección que elijas.
Yo creo que así quedaría mejor.
si no me fije en ese detalle, cierto.
deberias marcar una distancia minima valida de movimiento erkos, actualmente esta a 0, aun que no muevas el dedo toma una direcion.
actualmente si nos imaginamos una X gigante justo donde pulsamos. son los 2 ejes
cuando el stick analogico esta en el centro, o casi(unos 5 pixeles de distancia maximo), no deberia dar en esas zoas de las 4 direciones.
seria una tarta con 4 quesitos, si desplazamos el dado hacia la derecha(tocando el circulo virtual) tomamos el quesito de la derecha y nos movemos hacia la derecha.
me gustaria dibujar ese quesito, con 4 cachos....
Captura.PNG
la zona de color es de accion, y dependiendo de la distancia central, hacia fuera... aumenta su valor del eje X JOY_GET_POSITION, ademas por el simple echo de tocar esa zona de color, devuelve LEFT=true a esa direccion, o un numero en este caso es el numero 8, como lo hace joy_get_hat.
si fuese a arriba: numero 1 joy_get_hat, UP=true, valor de distanica eje Y JOY_GET_POSITION
Sinceramente se puede jugar bastante en esta tecnica.
yo me hice una funcion sencilla para mi juego: se trata de un control digital de 4 direciones y un boton.
y funciona con teclado y a la vez el Joy
FUNCTION CONTROLES();
private
i;
BEGIN
IF(KEY(_UP));i=1;elseif(KEY(_DOWN));i=4;END
IF(KEY(_RIGHT));i=2;elseif(KEY(_LEFT));i=8;END
//UP=1,DOWN=4, RIGHT/IZQUIERDA=2, LEFT/DERECHA=8
BOTON_EMPUJAR = KEY(_CONTROL);
BOTON_ATRAS = KEY(_ESC);
if(joy_nums>0);
IF(i==0);i=joy_get_hat(cur_joy,joy_hat1);END
IF(joy[cur_joy].button1 OR joy[cur_joy].button2);BOTON_EMPUJAR=TRUE;END
IF(joy[cur_joy].button3 OR joy[cur_joy].button4);BOTON_ATRAS=TRUE;END
//TEMP1="Joys:"+itoa(joy_nums)+"-["+itoa(cur_joy)+"]>DIR:"+ITOA(DIRECION_JUGADOR);
//TEMP2="BOT:"+ITOA(BOTON_EMPUJAR);
end
DIRECION_JUGADOR=i; //DIRECION: 1=UP / 4=DOWN / 2=RIGHT>> / 8=LEFT<< / 0=NINGUNO
END
tiene preferencia el JOY antes que el teclado, del control de juego.
si deseara implementar el stick analogico virtual, como del erkos, no tengo duda que usaria
joy_get_hat para devolver las 4 u 8 direciones.
mi juego solo trabaja en 4 direciones contantes.
no uso direciones analogicas como el stick de dualshock2 completamente analogico 360º, que se usaria: JOY_GET_POSITION
You do not have the required permissions to view the files attached to this post.