Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: empardopo en Agosto 29, 2018, 01:58:29 AM

Título: Meter iniciales
Publicado por: empardopo en Agosto 29, 2018, 01:58:29 AM
 :GMS:

Algunos juegos como el Commando por poner un ejemplo al final cuando te matan te dejan meter las iniciales del jugador para que luego aparezcan en la tabla de records. ¿Os suena algún ejemplo en el que se puedan seleccionar las letras de las iniciales?

Luego ya me pelearía con la tabla de records,jeje.

Muchas gracias por anticipado.
Título: Re:Meter iniciales
Publicado por: empardopo en Agosto 29, 2018, 02:34:50 PM
Más que nada es por si alguien tiene hecho algo y que se puede aprovechar y no tener que hacerlo todo desde cero.

Gracias por anticipado.
Título: Re:Meter iniciales
Publicado por: 3dgeminis en Agosto 31, 2018, 12:00:52 AM
Como lo queres hacer, escribir con el teclado directamente o ir eligiendo letra por letra (arriba y abajo selecciona letra, apretas boton y elegis siguiente letra, etc), o vas eligiendo de teclado en la pantalla ??
Título: Re:Meter iniciales
Publicado por: empardopo en Agosto 31, 2018, 02:42:29 PM
Cita de: 3dgeminis en Agosto 31, 2018, 12:00:52 AM
Como lo queres hacer, escribir con el teclado directamente o ir eligiendo letra por letra (arriba y abajo selecciona letra, apretas boton y elegis siguiente letra, etc), o vas eligiendo de teclado en la pantalla ??

Con teclado no... Me refería a que apareciera en pantalla algo así como cuando en los juegos arcades ibas a poner record y con la palanca de la recreativa seleccionabas tus iniciales... Es decir, que aparezcan en pantalla las letras del abecedaria y un borrar y un aceptar y voy seleccionando de ahí.

Es por si había algo ya hecho, algún gmz, librería o similar para no tener que hacerlo desde cero.

Muchas gracias por el interés.

Saludos
Título: Re:Meter iniciales
Publicado por: 3dgeminis en Agosto 31, 2018, 09:11:48 PM
Ya habia hecho algo parecido y lo adapte para lo que quieres, espero (las teclas que se usan son DERECHA-IZQUIERDA-ENTER):
CREATE
[gml]
posicion=0
separacion=36
columnas=10
nombre=""
x_pos=x
y_pos=y

letra[0]="A"
letra[1]="B"
letra[2]="C"
letra[3]="D"
letra[4]="E"
letra[5]="F"
letra[6]="G"
letra[7]="H"
letra[8]="I"
letra[9]="J"
letra[10]="K"
letra[11]="L"
letra[12]="M"
letra[13]="N"
letra[14]="Ñ"
letra[15]="O"
letra[16]="P"
letra[17]="Q"
letra[18]="R"
letra[19]="S"
letra[20]="T"
letra[21]="U"
letra[22]="V"
letra[23]="W"
letra[24]="X"
letra[25]="Y"
letra[26]="Z"

letra[27]="del"
letra[28]="end"
[/gml]
STEP
[gml]
if keyboard_check_pressed(vk_right) {if posicion<28 {posicion+=1} else {posicion=0}}
if keyboard_check_pressed(vk_left) {if posicion>0 {posicion-=1} else {posicion=28}}

if keyboard_check_pressed(vk_enter)
  {
   if posicion<=26 {nombre=nombre+letra[posicion]}
   if posicion=27  {nombre=string_delete(nombre,string_length(nombre),1)}
   if posicion=28  {instance_destroy()}
  }
[/gml]
DRAW
[gml]
draw_sprite(spr_cursor, 0, x_pos+(separacion*(posicion mod columnas)), y_pos+(separacion*(posicion div columnas)))

draw_set_font(font0)
draw_set_halign(fa_center)
draw_set_valign(fa_middle)

for(i=0;i<=28;i+=1)
  {
   draw_text(x_pos+(separacion*(i mod columnas)), y_pos+(separacion*(i div columnas)), letra)
  }

draw_text((room_width/2), (room_height/2), nombre)
[/gml]

Ademas necesitaras un sprite que hara de cursor para mostrar que letra se esta señalando, y una fuente para mostrar todos los caracteres(como la Ñ)

Revisa tambien las funciones font_add_sprite y font_add_sprite_ext para personalizar aun mas los caracteres.
Título: Re:Meter iniciales
Publicado por: empardopo en Septiembre 03, 2018, 07:33:53 PM
Cita de: 3dgeminis en Agosto 31, 2018, 09:11:48 PM
Ya habia hecho algo parecido y lo adapte para lo que quieres, espero (las teclas que se usan son DERECHA-IZQUIERDA-ENTER):
CREATE
[gml]
posicion=0
separacion=36
columnas=10
nombre=""
x_pos=x
y_pos=y

letra[0]="A"
letra[1]="B"
letra[2]="C"
letra[3]="D"
letra[4]="E"
letra[5]="F"
letra[6]="G"
letra[7]="H"
letra[8]="I"
letra[9]="J"
letra[10]="K"
letra[11]="L"
letra[12]="M"
letra[13]="N"
letra[14]="Ñ"
letra[15]="O"
letra[16]="P"
letra[17]="Q"
letra[18]="R"
letra[19]="S"
letra[20]="T"
letra[21]="U"
letra[22]="V"
letra[23]="W"
letra[24]="X"
letra[25]="Y"
letra[26]="Z"

letra[27]="del"
letra[28]="end"
[/gml]
STEP
[gml]
if keyboard_check_pressed(vk_right) {if posicion<28 {posicion+=1} else {posicion=0}}
if keyboard_check_pressed(vk_left) {if posicion>0 {posicion-=1} else {posicion=28}}

if keyboard_check_pressed(vk_enter)
  {
   if posicion<=26 {nombre=nombre+letra[posicion]}
   if posicion=27  {nombre=string_delete(nombre,string_length(nombre),1)}
   if posicion=28  {instance_destroy()}
  }
[/gml]
DRAW
[gml]
draw_sprite(spr_cursor, 0, x_pos+(separacion*(posicion mod columnas)), y_pos+(separacion*(posicion div columnas)))

draw_set_font(font0)
draw_set_halign(fa_center)
draw_set_valign(fa_middle)

for(i=0;i<=28;i+=1)
  {
   draw_text(x_pos+(separacion*(i mod columnas)), y_pos+(separacion*(i div columnas)), letra)
  }

draw_text((room_width/2), (room_height/2), nombre)
[/gml]

Ademas necesitaras un sprite que hara de cursor para mostrar que letra se esta señalando, y una fuente para mostrar todos los caracteres(como la Ñ)

Revisa tambien las funciones font_add_sprite y font_add_sprite_ext para personalizar aun mas los caracteres.

Le echo un vistazo a ver si soy capaz de integrarlo en mi jueguecillo.
Muchísimas gracias!!!