Mundo Maker
¡Bienvenid@ a Mundo Maker!

¿Quieres aprender todo sobre el RPG Maker?



Regístrate y forma parte de Mundo Maker.

[Tutorial] Mostrar una barra en mapa mediante engine

Ver el tema anterior Ver el tema siguiente Ir abajo

RPG Maker XP [Tutorial] Mostrar una barra en mapa mediante engine

Mensaje por Wecoc el 2018-11-07, 19:36

Puesto que he estado hablando de este tema, decidí hacer un tutorial de como hacer una barra por engine, paso por paso.

Quiero mostrar una barra aquí, de 400px de ancho

Pongo un placeholder para que veáis donde.

[line]>Mostrar imagen : 1, 'fondo', Arriba-izquierda (50, 450), (100%, 100%), 100, Normal[/line]



Esa barra está basada en un valor que va de 0 a 1000.
Voy a ponerle el valor a continuación, en el ejemplo, 500.
Eso significa que en realidad el ancho de la barra serán 200px.

[line]>Operaciones de variable : [0001: Valor barra] = 500[/line]

La barra está formada por 3 partes
- Parte redondeada en la izquierda (b_left) de 6x12
- Parte central (b_center) de 1x12
- Parte redondeada en la derecha (b_right) de 6x12

Nota: Cuando digo que la barra hará 200px me refiero a la central solamente, ya que será ampiada para llegar a ese valor. El resto son colocadas sin zoom antes y después de esta.

PARTE 1: Parte redondeada izquierda

Esta es la más fácil, siempre se coloca en el mismo punto.
Ese es el (50, 450) de antes, pero hay que restarle los 6px que tiene de ancho.

[line]>Mostrar imagen : 2, 'b_left', Arriba-izquierda (44, 450), (100%, 100%), 255, Normal[/line]

PARTE 2: Parte central

Sabemos donde colocarla, pero no su ancho.
Ancho = Ancho máximo * (Valor real / Valor máximo)
Es decir: 400 * (500 / 1000)

[line]>Operaciones de variable : [0002: Barra ancho] = 400
>Operaciones de variable : [0002: Barra ancho] *= Variable [0001: Valor barra]
>Operaciones de variable : [0002: Barra ancho] /= 1000[/line]

Primero la colocamos normal y a continuación le cambiamos el zoom X via script por el correcto.

[line]>Mostrar imagen : 3, 'b_center', Arriba-izquierda (50, 450), (100%, 100%), 255, Normal[/line]

Ahora la llamada de script:
[line]pic = $game_screen.pictures[3] # ID de picture
width = $game_variables[2] * 100
pic.instance_eval("@zoom_x = #{width}")[/line]

La variable es multiplicada por 100 puesto que el zoom va en porcentaje en vez de de 0 a 1.

PARTE 3: Parte redondeada derecha

De esta sabemos el ancho pero no la posición inicial, que depende de la anterior.
X = X barra + Ancho barra central
Es decir: 45 + 200

Primero la colocamos normal y a continuación le cambiamos el X via script por el correcto

[line]>Mostrar imagen : 4, 'b_right', Arriba-izquierda (50, 450), (100%, 100%), 255, Normal[/line]

Ahora la llamada de script:
[line]pic = $game_screen.pictures[4]
width = $game_variables[2]
pic.instance_eval("@x = @x + #{width}")[/line]

RESULTADO:
avatar
Wecoc
Administrador
Administrador



Créditos 12310

Gracias : 654

Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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