Si, usando surfaces, tengo un ejemplo si te sirve.
Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.
317
Preguntas y respuestas / Re:Movimiento unísono de todas las instancias de un objeto
Mayo 17, 2018, 04:35:16 AM
Te paso un ejemplo para que puedas verlo
318
Preguntas y respuestas / Re:ESCRIBIR NOMBRE DEL PLAYER MEDIANTE PULSACION ICONOS
Mayo 16, 2018, 07:50:41 PM
Podes crear un array que contenga todas la letras (tambien numeros y simbolos que tenga la fuente) e ir cambiando la posicion para elegir la letra.
-CREATE
[gml]
nombre=""
num_letra=0
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"
[/gml]
-STEP
[gml]
//elige la anterior letra
if keyboard_check_pressed(vk_up) {if num_letra>0 {num_letra-=1} else {num_letra=26}}
//elige la siguiente letra
if keyboard_check_pressed(vk_down) {if num_letra<26 {num_letra+=1} else {num_letra=0}}
//agrega a la variable nombre la letra seleccionada y limita el numero de letras que se puede poner
if keyboard_check_pressed(vk_enter) {if string_length(nombre)<10 {nombre+=letra[num_letra]}}
//borra la ultima letra
if keyboard_check_pressed(vk_backspace) {nombre=string_delete(nombre, string_length(nombre), 1)}
[/gml]
-DRAW
[gml]
draw_set_font(font0)
draw_text(x,y,"Letra: "+string(letra[num_letra]))
draw_text(x,y+40,"Nombre: "+string(nombre))
[/gml]
Al presionar arriba o abajo se va cambiando de letra, y al presionar ENTER se escribe. Con BACKSPACE se borra la ultima letra escrita.
-CREATE
[gml]
nombre=""
num_letra=0
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"
[/gml]
-STEP
[gml]
//elige la anterior letra
if keyboard_check_pressed(vk_up) {if num_letra>0 {num_letra-=1} else {num_letra=26}}
//elige la siguiente letra
if keyboard_check_pressed(vk_down) {if num_letra<26 {num_letra+=1} else {num_letra=0}}
//agrega a la variable nombre la letra seleccionada y limita el numero de letras que se puede poner
if keyboard_check_pressed(vk_enter) {if string_length(nombre)<10 {nombre+=letra[num_letra]}}
//borra la ultima letra
if keyboard_check_pressed(vk_backspace) {nombre=string_delete(nombre, string_length(nombre), 1)}
[/gml]
-DRAW
[gml]
draw_set_font(font0)
draw_text(x,y,"Letra: "+string(letra[num_letra]))
draw_text(x,y+40,"Nombre: "+string(nombre))
[/gml]
Al presionar arriba o abajo se va cambiando de letra, y al presionar ENTER se escribe. Con BACKSPACE se borra la ultima letra escrita.
319
Preguntas y respuestas / Re:Como se trabajan los chunks?
Mayo 05, 2018, 08:36:16 PM
Mirate este video
Infinite Terrain Generation - YouTube
https://www.youtube.com/watch?v=sgQkp7IVbhc
es para game maker studio pero te puede dar algunas ideas.
Infinite Terrain Generation - YouTube
https://www.youtube.com/watch?v=sgQkp7IVbhc
es para game maker studio pero te puede dar algunas ideas.
320
Preguntas y respuestas / Re:Movimiento unísono de todas las instancias de un objeto
Mayo 05, 2018, 08:21:41 PM
Prueba este codigo:
[gml]
//CREATE
alarm[0]=30
mover=1 ///1=mover derecha ; 0=mover abajo ; -1=mover izquierda
//ALARMA 0
switch(mover)
{
case 1 : with(nave)
{
x+=32
if x>room_width-64 {other.mover=0}
}
break
case 0 : with(nave)
{
y+=32
if x>room_width-64 {other.mover=-1}
if x<32 {other.mover=1}
}
break
case -1: with(nave)
{
x-=32
if x<32 {other.mover=0}
}
break
}
alarm[0]=30
[/gml]
[gml]
//CREATE
alarm[0]=30
mover=1 ///1=mover derecha ; 0=mover abajo ; -1=mover izquierda
//ALARMA 0
switch(mover)
{
case 1 : with(nave)
{
x+=32
if x>room_width-64 {other.mover=0}
}
break
case 0 : with(nave)
{
y+=32
if x>room_width-64 {other.mover=-1}
if x<32 {other.mover=1}
}
break
case -1: with(nave)
{
x-=32
if x<32 {other.mover=0}
}
break
}
alarm[0]=30
[/gml]
321
Preguntas y respuestas / Re:Mi presentación y un bug que no puedo solucionar.
Abril 30, 2018, 08:09:30 PM
A lo mejor cuando creas la lista se repiten algunos valores, sube el codigo.
En la imagen en donde se repite la carta ?
En la imagen en donde se repite la carta ?
322
Preguntas y respuestas / Re:Cargar bindeo/configuración del teclado
Abril 08, 2018, 09:19:05 PM
Busca en Preguntasy respuestas archivo y vas a encontrar varios posts sobre los mismos.
323
Preguntas y respuestas / Re:Objetos especiales
Abril 08, 2018, 04:14:37 AM
Al agarrar el objeto, el mismo se encarga de ecribir su id en el ini antes de eliminarse. Que sean objetos que se crean en el editor si no no funcionaria.
Luego en algun objeto al iniciarse el room abres el ini y usas las id para eliminar los objetos.
Luego en algun objeto al iniciarse el room abres el ini y usas las id para eliminar los objetos.
324
Preguntas y respuestas / Re:como crear archivos INI fuera del sandbox?
Abril 07, 2018, 04:39:57 PM
A menos que pongas el codigo completo del objeto o subas un ejemplo no podemos ver cual seria el problema
325
Preguntas y respuestas / Re:como crear archivos INI fuera del sandbox?
Abril 07, 2018, 07:48:58 AM
Que error da, o el juego directamente se congela ?
326
Preguntas y respuestas / Re:evento mouse
Abril 07, 2018, 07:47:00 AM
Prueba lo siguiente:
[gml]
if place_snapped(64,0) {hspeed=0}
if mouse_check_button(mb_left) and x!=(floor(mouse_x/64)*64)
{
if (floor(mouse_x/64)*64) > (floor(x/64)*64) {hspeed=4}
if (floor(mouse_x/64)*64) < (floor(x/64)*64) {hspeed=-4}
}
[/gml]
Lo que hace es moverse en una grilla de 64 pixels, si se presiona el raton el objeto se se empieza a mover hasta que llega hasta el cuadrado de la grilla donde esta el raton.
Ejemplo:
[gml]
if place_snapped(64,0) {hspeed=0}
if mouse_check_button(mb_left) and x!=(floor(mouse_x/64)*64)
{
if (floor(mouse_x/64)*64) > (floor(x/64)*64) {hspeed=4}
if (floor(mouse_x/64)*64) < (floor(x/64)*64) {hspeed=-4}
}
[/gml]
Lo que hace es moverse en una grilla de 64 pixels, si se presiona el raton el objeto se se empieza a mover hasta que llega hasta el cuadrado de la grilla donde esta el raton.
Ejemplo:
327
Preguntas y respuestas / Re:Objetos
Abril 05, 2018, 08:38:17 PM
Utiliza view_object para asignar el objeto que tiene que seguir la view.
328
Preguntas y respuestas / Re:evento mouse
Abril 05, 2018, 08:36:36 PM
La velocidad son 6 pixels por step asi que no siempre quedara en la posicion del raton.
Tendrias que poner que cumpla 2 condiciones: que se presione el boton del raton y que la distancia al raton sea mayor a cierto valor(puedes poner 6 que es la velocidad que se mueve)
Tendrias que poner que cumpla 2 condiciones: que se presione el boton del raton y que la distancia al raton sea mayor a cierto valor(puedes poner 6 que es la velocidad que se mueve)
329
Preguntas y respuestas / Re:MOVIMIENTO EN PERSONAJE ANIMADO
Abril 05, 2018, 08:32:04 PM
Si ese es todo el codigo en ningun lado pones que se detenga la velocidad vertical(v_speed).
Aun si detienes la gravedad, si momentos antes la habia tambien habra velocidad vertical.
Aun si detienes la gravedad, si momentos antes la habia tambien habra velocidad vertical.
330
Preguntas y respuestas / Re:Ayuda al disparar
Abril 05, 2018, 04:38:33 PM
Solo te falto pone la llave al final }
Deberias poner tambien el error que te da GM
Deberias poner tambien el error que te da GM