Últimos temas
» LA BRÚJULA DE ZAZA [VXACE]
por Dagenso Ayer a las 6:40 pm

» Concurso de relatos Diciembre 2019/Enero 2020 [Resultados]
por DorFenn Ayer a las 2:30 pm

» [MV]Colección de Windowskins de Japo (5)
por Iskachu 2000 Ayer a las 6:45 am

» Ayuda con importar imagenes en MV
por Axel Ayer a las 2:44 am

» Sento no Uchu
por Dagenso Dom Ene 19, 2020 6:34 pm

» Clarividence
por adamsteiner Sáb Ene 18, 2020 5:51 am

» (Nuevo Taller) "Herreria de Scripts"
por Iskachu 2000 Sáb Ene 18, 2020 12:53 am

» Tienda De Música
por Iskachu 2000 Sáb Ene 18, 2020 12:14 am

» Engines
por Iskachu 2000 Vie Ene 17, 2020 11:12 pm

» Tienda/taller de Parallax Maps de Shad
por Iskachu 2000 Vie Ene 17, 2020 11:01 pm

» ¿Hacer mas eficaz el "Acercarse al jugador"?
por Metatron Vie Ene 17, 2020 10:51 pm

» [Mapeo/Ambientación/VXACE]Lo básico de los tintes
por Iskachu 2000 Vie Ene 17, 2020 10:18 pm


PREGUNTA BÁSICA DE JAVASCRIPT

Ir abajo

PREGUNTA BÁSICA DE JAVASCRIPT Empty PREGUNTA BÁSICA DE JAVASCRIPT

Mensaje por Fiquei el Jue Abr 25, 2019 10:10 pm

Muy buenas! Tenía una dudilla que quería comentaros. Seguro que más de uno que tenga ya tiros pegados en Javascript me sabrá responder.

El caso es que, debido a que las opciones condicionales para pulsar botones que trae el RPG Maker MV son, como mínimo, bizarras (¿Pulsar Av Pagina?), me gustaría utilizar las condicionales con teclas más usuales.

En RGSS no tengo problema, sé que metiendo como condición una llamada a Script del tipo "Input.trigger?(Input::X)", donde X sería la tecla, la cosa funciona.

El tema es que no tengo claro la llamada equivalente que tendría que hacer con Javascript.

Si me he explicado, ¿alguien podría iluminarme? Si no queda claro, lo vuelvo a explicar, sin problema.

¡Gracias por anticipado!

Fiquei
PJ Secundario
PJ Secundario

Masculino
Rmakercom
RPG Maker : Xp
Mensajes : 204
Monedas : 1153
Reputación : 18

Volver arriba Ir abajo

PREGUNTA BÁSICA DE JAVASCRIPT Empty Re: PREGUNTA BÁSICA DE JAVASCRIPT

Mensaje por Chaskarron el Sáb Abr 27, 2019 8:52 pm

La respuesta a tu cuestion se encuentra en el archivo rpg_core.js alrededor de la linea 3000 en el objeto Input del engine. En el cual deberas establecer nuevos valores añadidos para las teclas que quieras agregar a los parametros de pageup y pagedown de las funciones que determinan las pulsaciones de teclas. Debes tener en cuenta que el numero del indice se debe corresponder con la identificacion de la tabla ASCII para esa tecla.

Código:
/**
 * A hash table to convert from a virtual key code to a mapped key name.
 *
 * @static
 * @property keyMapper
 * @type Object
 */
// La estructura de este objeto es simple,
// debes acceder al valor ASCII de la tecla
// y asociarla a la funcionalidad que deseas
// siendo: indice: 'funcion'
// Ejemplo: 48: 'tab' //esto asigna la pulsacion de TAB a la tecla "0" (cero)
Input.keyMapper = {
    9: 'tab',       // tab
    13: 'ok',       // enter
    16: 'shift',    // shift
    17: 'control',  // control
    18: 'control',  // alt
    27: 'escape',   // escape
    32: 'ok',       // space
    33: 'pageup',   // pageup
    34: 'pagedown', // pagedown
    37: 'left',     // left arrow
    38: 'up',       // up arrow
    39: 'right',    // right arrow
    40: 'down',     // down arrow
    45: 'escape',   // insert
    81: 'pageup',   // Q
    87: 'pagedown', // W
    88: 'escape',   // X
    90: 'ok',       // Z
    96: 'escape',   // numpad 0
    98: 'down',     // numpad 2
    100: 'left',    // numpad 4
    102: 'right',   // numpad 6
    104: 'up',      // numpad 8
    120: 'debug'    // F9
};

Teniendo esa referencia como base debes sobreescribir el keyMapper para incluir las nuevas teclas que necesites, asi como la posibilidad de crear nuevas funcionalidades en la clase Input.

Un saludo!!
Chaskarron
Chaskarron
PJ Secundario
PJ Secundario

Masculino
España
RPG Maker : MV
Mensajes : 208
Monedas : 591
Reputación : 50
Edad : 38
Localización : Mordor

Volver arriba Ir abajo

PREGUNTA BÁSICA DE JAVASCRIPT Empty Re: PREGUNTA BÁSICA DE JAVASCRIPT

Mensaje por Fiquei el Lun Abr 29, 2019 6:45 am

¡Muchas gracias @Chaskarron! Creo que con esto ya no tendré problema.

EDIT: Bueno, no, espera. Porque vale, para crear nuevas funcionalidades en el core ok, no veo problema. Pero, ¿y si lo que quiero hacer es una chuminada tipo "cuando pulso tal botón se enciende un interruptor o se activa tal animación"?

Supongamos que quiero pulsar el A y que se active el interruptor "Limón". Mi suposición de lo que tengo que hacer en el Maker (no en el .js) es la siguiente:

Spoiler:
Si: Script: Input.isTriggered = 65
: Limón = ON

¿Me equivoco?

Fiquei
PJ Secundario
PJ Secundario

Masculino
Rmakercom
RPG Maker : Xp
Mensajes : 204
Monedas : 1153
Reputación : 18

Volver arriba Ir abajo

PREGUNTA BÁSICA DE JAVASCRIPT Empty Re: PREGUNTA BÁSICA DE JAVASCRIPT

Mensaje por Chaskarron el Lun Abr 29, 2019 9:30 am

@Fiquei escribió:¡Muchas gracias @Chaskarron! Creo que con esto ya no tendré problema.

EDIT: Bueno, no, espera. Porque vale, para crear nuevas funcionalidades en el core ok, no veo problema. Pero, ¿y si lo que quiero hacer es una chuminada tipo "cuando pulso tal botón se enciende un interruptor o se activa tal animación"?

Supongamos que quiero pulsar el A y que se active el interruptor "Limón". Mi suposición de lo que tengo que hacer en el Maker (no en el .js) es la siguiente:

Spoiler:
Si: Script: Input.isTriggered = 65
: Limón = ON

¿Me equivoco?

Puedes intentarlo pero como estas tratando una funcion como si fuese una propiedad de clase te va a dar error en tiempo de ejecucion, ya sea property isTriggered is not defined o alguna otra cosa por el estilo.

No te queda mas opcion que modificar el core implementando lo que necesites para hacer lo que quieres.

ejemplo:


/**
 * A hash table to convert from a virtual key code to a mapped key name.
 *
 * @static
 * @property keyMapper
 * @type Object
 */
Input.keyMapper = {
    9: 'tab',       // tab
    13: 'ok',       // enter
    16: 'shift',    // shift
    17: 'control',  // control
    18: 'control',  // alt
    27: 'escape',   // escape
    32: 'ok',       // space
    33: 'pageup',   // pageup
    34: 'pagedown', // pagedown
    37: 'left',     // left arrow
    38: 'up',       // up arrow
    39: 'right',    // right arrow
    40: 'down',     // down arrow
    45: 'escape',   // insert
    // nueva implementacion personalizada
    65: 'myOwnKey', // A
    // fin nueva implementacion
    81: 'pageup',   // Q
    87: 'pagedown', // W
    88: 'escape',   // X
    90: 'ok',       // Z
    96: 'escape',   // numpad 0
    98: 'down',     // numpad 2
    100: 'left',    // numpad 4
    102: 'right',   // numpad 6
    104: 'up',      // numpad 8
    120: 'debug'    // F9
};


if(Input.isPressed('myOwnKey')){
    console.log("Se ha pulsado la tecla A");
}


JavaScript y Ruby son dos lenguajes distintos con librerias distintas, que en un lenguaje se haga de una manera no implica que en el otro funcione de la misma forma, y menos aun cuando intentas tratar una funcion como una propiedad de clase. De otro modo para leer el keycode de la tecla pulsada como lo hace en Ruby, tendrias que reprogramar toda la clase Input del core ya que el valor del evento lo recoge internamente en una funcion privada de la clase.

Saludos!!!
Chaskarron
Chaskarron
PJ Secundario
PJ Secundario

Masculino
España
RPG Maker : MV
Mensajes : 208
Monedas : 591
Reputación : 50
Edad : 38
Localización : Mordor

Volver arriba Ir abajo

PREGUNTA BÁSICA DE JAVASCRIPT Empty Re: PREGUNTA BÁSICA DE JAVASCRIPT

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Volver arriba


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