¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.
Conectarse

Recuperar mi contraseña

Temas importantes
----------------------------------------
Páginas con recursos RPG Maker
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
----------------------------------------
Afiliados
Estadísticas
Tenemos 3391 miembros registrados.
El último usuario registrado es Ryu.

Nuestros miembros han publicado un total de 79781 mensajes en 11252 argumentos.
Navega con Google Chrome
[DESCARGA]

Ninguna tecla pulsada

 :: RPG Maker :: Ayuda RPG

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP Ninguna tecla pulsada

Mensaje por Ledai el 2015-11-02, 19:39

Cual es el comando para comprobar que ninguna tecla sea pulsada?? es decir, que ninguna tecla esté pulsada??
Supongo que valdría la excepción de saber si alguna tecla está siendo pulsada, pero tampoco sé el comando para comprobar si cualquier tecla es pulsada así que @~@

Ledai
Aventurero
Aventurero

0/3

Créditos 1368

Gracias : 126

http://ahurallg.blogspot.com.es/

Volver arriba Ir abajo

RPG Maker XP Re: Ninguna tecla pulsada

Mensaje por Wecoc el 2015-11-02, 20:51

El Input del RPG maker es muy limitado, así que no hay un Press Any Key directo.

Si no estás usando ningún script de Input/Keyboard que amplíe las teclas posibles, tampoco hay muchas, así que se puede crear el método con bastante facilidad. Si en cambio sí estás usando uno, habrá que mirarlo para saber cómo integrarle ese método si no lo tiene.

Para el Input default:

Código:
module Input
  def Input.press_any?
    return true if Input.press?(Input::A)
    return true if Input.press?(Input::B)
    return true if Input.press?(Input::C)
    return true if Input.press?(Input::X)
    return true if Input.press?(Input::Y)
    return true if Input.press?(Input::Z)
    return true if Input.press?(Input::L)
    return true if Input.press?(Input::R)
    return false
  end
end

En realidad hay más que no incluí, pero ya ves cómo va así que puedes añadirlas fácilmente si lo necesitas.
Las que no incluí son: DOWN, LEFT, RIGHT, UP, SHIFT, CTRL, ALT, F5, F6, F7, F8, F9

Quizá haya algún atajo para hacer el método más corto pero así tienes total libertad de escojer qué teclas tienes en cuenta.

Se usaría con:
Input.press_any?

Para Condiciones y Efectos, si quieres que pase algo si no se está pulsando ninguna solo tienes que hacer el contrario, poniendo not o ! delante:

!Input.press_any?

O bien usando Input.press_any? == false

Wecoc
Administrador
Administrador



Créditos 8265

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: Ninguna tecla pulsada

Mensaje por Ledai el 2015-11-02, 21:01

Sí, uso el Default así que supongo no habrá problemas.

Si no entendí mal, entonces tan solo pego el código en un script sobre main (Se podría pegar en algun oto scrip existente por ahorrar espacio?) y después uso los comandos desde el condicional como siempre.

OK, lo probaré y ya contaré.

Gracias y saludos!!

Ledai
Aventurero
Aventurero

0/3

Créditos 1368

Gracias : 126

http://ahurallg.blogspot.com.es/

Volver arriba Ir abajo

RPG Maker XP Re: Ninguna tecla pulsada

Mensaje por kyonides-arkanthos el 2015-11-02, 21:19

En realidad no hay un comando ni llamado a script que directamente pruebe que ninguna tecla fue pulsada y aún con negar el código que te pasó Wecoc podría darse el caso de que si pulsan Shift o Ctrl, no reconozca que no se pulsó alguna tecla.

Tal vez habría que ver el asunto desde otra perspectiva.

Lo que yo me imaginaría es que la mejor manera de saber que no se pulsa nada es preguntarse qué sucede cuando el jugador no hace nada, absolutamente nada. La respuesta a eso sería que se queda quieto el bicho que representa al héroe en el mapa.

Si tu necesidad es la de verificar aquello en el mapa, pues la solución empezaría por utilizar:

!$game_player.moving?

...en una condición donde lo puedas pegar como condición de llamado a script.

Si el asunto es en un menú, eh, pues, ahí es obvio que el héroe no se va a mover ni un milímetro, así que habría que buscar otra solución.

kyonides-arkanthos
Principiante
Principiante

0/3

Créditos 397

Gracias : 54

Volver arriba Ir abajo

RPG Maker XP Re: Ninguna tecla pulsada

Mensaje por Wecoc el 2015-11-03, 08:21

Leda: Exacto. Puedes pegarlo encima de main o en el script que quieras.

kyonides-arkanthos: $game_player.moving? no sirve porque solo responde a las teclas de dirección. Además es un método un poco puñetero porque aunque la tecla se esté pulsando, si el personaje no puede moverse por pasabilidad devuelve false. Incluso cuando el personaje se mueve libremente, devuelve false cuando éste se encuentra justo en la posición del tile.

He estado mirando por ahí. La mayoría de scripts Input definen un hash en el que todas las teclas valen false cuando no están siendo pulsadas y true cuando sí.

Es decir por ejemplo el press?(key) lo que haría es algo así: @pressed[key] == true
Cada uno con sus diferencias, claro.
Para mirarlas todas a la vez sería cuestión de usar un any? con condición.

Código:
def press_any?
  @pressed.any? {|key| key == true}
end

Repito, eso solo en el caso de estar usando un Input no default.

Wecoc
Administrador
Administrador



Créditos 8265

Gracias : 372

Volver arriba Ir abajo

RPG Maker XP Re: Ninguna tecla pulsada

Mensaje por kyonides-arkanthos el 2015-11-03, 10:55

Sì, incluso !$game_player.moving? tiene sus limitantes y serían muy serias. En parte pretendía hacer que Leda nos contara qué es lo que realmente pretende alcanzar con averiguar que no hay teclas pulsadas. Al menos eso dijo en un inicio y al ser una pregunta rara o poco común me gustó entonces la idea de esperar a ver cómo me respondía Leda para tratar de hallar algo más específico al caso de su proyecto.


Yo sí preferiría ver un pequeño demo con la situación específica antes de sugerir más cosas o dar por solucionado el inconveniente en algún medida porque aunque se sepa que no se pulsa una tecla, no quedaría claro cuánto tiempo se necesita esperar para que sea real la respuesta del RGSS de que no hay tecla pulsada. Tengamos en cuenta que la medición ni siquiera se hace en segundos sino en milisegundos, si no recuerdo mal.

kyonides-arkanthos
Principiante
Principiante

0/3

Créditos 397

Gracias : 54

Volver arriba Ir abajo

RPG Maker XP Re: Ninguna tecla pulsada

Mensaje por Ledai el 2015-11-03, 13:44

A ver... resulta que el error al final era mío @~@ (Como es normal... XD)

 Ando haciendo un enguine de monta a caballo pero no es como los engines corrientes que he visto o hecho antes... ya que inspirada en el juego de Sotc (Shadow of The Colossus)
Quería recrear la manera en la que en ese juego se monta a caballo, ya que cuando en un juego se pasa a montar en algo... se controla directamente a la montura, sin embargo me gustó la idea de que al montar en caballo controles al personaje que a su vez controla al caballo... no que te "conviertas" en el caballo... (no sepo si me explico...)

Así que estoy pasando esa idea al sistema que tiene el maker, el cual sin duda es limitado, pero en base está quedando bastante bien; incluso mejor de lo que me esperaba, pues están saliendo hasta cabriolas y todo XDD.
Y todo en un único evento en mapa señores... a cinco euros a cinco euros a cinco euros (Parece que voy vendiendo XD)...

En resumen, me he complicado la vida con demasiadas condiciones y resulta que solo tenía que añadir un esperar x frames para que el sistema no diera un molesto bugs (gráfico, no era un error funcional, lo sé; soy demasiado exigente ¬_¬) al tocar cualquier tecla  aceptada por el maker. Buahh...  tonterías mías y del maker XDD

De todos modos, creo que este comando me servirá más adelante para configurar algún menú por imágenes o algo así... siempre viene bien tener esos datos a mano a la hora de enginear, así que me lo guardo igualmente.

Gracias a ambos por vuestro interés ^_^!!!!!!
¡¡¡Y Viva el Maker!!!

Ledai
Aventurero
Aventurero

0/3

Créditos 1368

Gracias : 126

http://ahurallg.blogspot.com.es/

Volver arriba Ir abajo

RPG Maker XP Re: Ninguna tecla pulsada

Mensaje por orochii el 2015-11-03, 16:43

Y bueno, para DOWN, LEFT, RIGHT y UP, supongo que pueden usar Input.dir4 != 0 xD. Claro, eso es si quieren verificar todas las cuatro direcciones de una sóla vez...

Ese es todo mi aporte en el tema.

orochii
Caballero Shiro
Caballero Shiro

0/3

Créditos 6045

Gracias : 266

http://drekirokr.weebly.com/

Volver arriba Ir abajo

RPG Maker XP Re: Ninguna tecla pulsada

Mensaje por Contenido patrocinado Hoy a las 20:15


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


 :: RPG Maker :: Ayuda RPG

Permisos de este foro:
No puedes responder a temas en este foro.