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.
211
Preguntas y respuestas / Re:DS GRID - Almacenar más de un valor en una celda
Octubre 13, 2018, 07:50:47 PM212
Preguntas y respuestas / Re:Vaciar arrays unidimensionales
Octubre 12, 2018, 04:57:13 PM
Aqui esta:
CREATE
[gml]
objetivo=0 ///nos servira para marcar al objeto enemigo
lista=ds_list_create()
with(enemigo) ///los objetos enemigos para añadir a la lista
{
ds_list_add(other.lista, id)
}
[/gml]
STEP
[gml]
;)if keyboard_check_pressed(vk_down) {objetivo+=1} ///siguiente enemigo (abajo)
if objetivo>(ds_list_size(lista)-1) {objetivo=0} ///si llega al ultimo pasa al primero
if keyboard_check_pressed(vk_up) {objetivo-=1} ///enemigo anterior (arriba)
if objetivo<0 {objetivo=(ds_list_size(lista)-1)} ///si llega al primero pasa al ultimo
if ds_list_size(lista)>0 ///si hay enemigos para atacar
{
if keyboard_check_pressed(vk_space) ///en lugar del ataque use la tecla ESPACIO
{
if ds_list_size(lista)>0 ///si hay enemigos
{
with(ds_list_find_value(lista, objetivo)) ///elige al enemigo seleccionado(objetivo) en la lista
{
vida-=choose(10,20,30) ///le quita vida
if vida<=0 ///y si la vida llega a cero
{
instance_destroy() ///destruye al objeto
ds_list_delete(other.lista, other.objetivo) ///lo elimina de la lista
}
}
}
}
}
[/gml]
DRAW
[gml]
if ds_list_size(lista)>0 ///nos aseguramos que aun hayann enemigos para poder dibujar el cursor
{
draw_sprite(spr_cursor, 0, ds_list_find_value(lista, objetivo).x+50, ds_list_find_value(lista, objetivo).y-32) ///dibuja el cursor
}
[/gml]
DESTROY
[gml]
ds_list_destroy(lista) ///destruye la lista cuando termina el combate(el objeto se destruye cuando termina el combate y no se encesita mas)
[/gml]
CREATE
[gml]
objetivo=0 ///nos servira para marcar al objeto enemigo
lista=ds_list_create()
with(enemigo) ///los objetos enemigos para añadir a la lista
{
ds_list_add(other.lista, id)
}
[/gml]
STEP
[gml]
;)if keyboard_check_pressed(vk_down) {objetivo+=1} ///siguiente enemigo (abajo)
if objetivo>(ds_list_size(lista)-1) {objetivo=0} ///si llega al ultimo pasa al primero
if keyboard_check_pressed(vk_up) {objetivo-=1} ///enemigo anterior (arriba)
if objetivo<0 {objetivo=(ds_list_size(lista)-1)} ///si llega al primero pasa al ultimo
if ds_list_size(lista)>0 ///si hay enemigos para atacar
{
if keyboard_check_pressed(vk_space) ///en lugar del ataque use la tecla ESPACIO
{
if ds_list_size(lista)>0 ///si hay enemigos
{
with(ds_list_find_value(lista, objetivo)) ///elige al enemigo seleccionado(objetivo) en la lista
{
vida-=choose(10,20,30) ///le quita vida
if vida<=0 ///y si la vida llega a cero
{
instance_destroy() ///destruye al objeto
ds_list_delete(other.lista, other.objetivo) ///lo elimina de la lista
}
}
}
}
}
[/gml]
DRAW
[gml]
if ds_list_size(lista)>0 ///nos aseguramos que aun hayann enemigos para poder dibujar el cursor
{
draw_sprite(spr_cursor, 0, ds_list_find_value(lista, objetivo).x+50, ds_list_find_value(lista, objetivo).y-32) ///dibuja el cursor
}
[/gml]
DESTROY
[gml]
ds_list_destroy(lista) ///destruye la lista cuando termina el combate(el objeto se destruye cuando termina el combate y no se encesita mas)
[/gml]
213
Preguntas y respuestas / Re:Vaciar arrays unidimensionales
Octubre 11, 2018, 11:14:06 PM
Para este caso en que se crean y destruyen objetos creo que una ds_list sera lo mejor.
En lugar de guardar las coordenadas solo tendrias que guardar la id de los objetos enemigos y usar esa id para colocar el cursor y cuando elimines un enemigo solo borras la id de la lista y automaticamente te elije el siguiente objetivo.
Si quieres te paso el codigo.
Fijate en el ejemplo
En lugar de guardar las coordenadas solo tendrias que guardar la id de los objetos enemigos y usar esa id para colocar el cursor y cuando elimines un enemigo solo borras la id de la lista y automaticamente te elije el siguiente objetivo.
Si quieres te paso el codigo.
Fijate en el ejemplo
214
Preguntas y respuestas / Re:como hacer que si es múltiplo de algún numero??
Octubre 09, 2018, 11:35:44 PM
Probe el codigo y funciona perfecto, talves estes creando al enemigo fuera de la pantalla.
215
Preguntas y respuestas / Re:Centrar titulo del juego
Octubre 08, 2018, 11:29:40 PM
No encontre ninguna funcion que permita eso, podrias hacerlo poniendo espacio antes del texto
en lugar de
Swindle
lo escribirias asi
Swindle
en lugar de
Swindle
lo escribirias asi
Swindle
216
Preguntas y respuestas / Re:como puedo hacer un menu en game maker 8?
Octubre 06, 2018, 07:44:00 PM
Te dejo un ejemplo en codigo con algunos comentarios de lo que hace (ten a mano el manual 8))
217
Preguntas y respuestas / Re:como puedo hacer un menu en game maker 8?
Octubre 06, 2018, 02:12:19 AM
La version no tiene porque importar.
El menu podria ser solo una variable que cambie su valor y dependiendo de su valor se hara una accion u otra.
Si el valor es 1 te lleva al primer nivel, si es 2 te lleva al ultimo nivel que hayas jugado, y si es 3 te lleva a otro menu con sus propias opciones.
Para dibujarlo puedes crear un sprite con el mismo texto/opciones pero la flecha en diferente posicion.
Que es especificamente lo que no puedes hacer ?
El menu podria ser solo una variable que cambie su valor y dependiendo de su valor se hara una accion u otra.
Si el valor es 1 te lleva al primer nivel, si es 2 te lleva al ultimo nivel que hayas jugado, y si es 3 te lleva a otro menu con sus propias opciones.
Para dibujarlo puedes crear un sprite con el mismo texto/opciones pero la flecha en diferente posicion.
Que es especificamente lo que no puedes hacer ?
218
Preguntas y respuestas / Re:dibujar objeto con el dedo
Octubre 05, 2018, 09:00:45 PM
Podes usar un sprite de 1 pixel de ancho y 6 de alto para hacer la linea.
Ya sabes como obtener la longuitud(point_distance) y el angulo entre el punto inicial y final(point_direction).
Usas la distancia para escalar el sprite(image_xscale) y el angulo para girar el sprite(image_angle) y ya tenes la linea con mascara de colision.
Asegurate que las propiedades del sprite tenga la mascara colision precisa y automatica.
Ya sabes como obtener la longuitud(point_distance) y el angulo entre el punto inicial y final(point_direction).
Usas la distancia para escalar el sprite(image_xscale) y el angulo para girar el sprite(image_angle) y ya tenes la linea con mascara de colision.
Asegurate que las propiedades del sprite tenga la mascara colision precisa y automatica.
219
Preguntas y respuestas / Re:Dialogo que aparezca al pulsar A al lado de un personaje
Octubre 02, 2018, 08:05:17 PM
Para crear un objeto se usa la funcion instance_create
[gml]
if keyboard_check_pressed(ord("A")) {instance_create(x,y,obj_dialogo)}
[/gml]
[gml]
if keyboard_check_pressed(ord("A")) {instance_create(x,y,obj_dialogo)}
[/gml]
220
Preguntas y respuestas / Re:dibujar objeto con el dedo
Octubre 02, 2018, 07:59:04 PM
Si al final sera una linea es mejor hacer una linea desde el principio.
CREATE
[gml]
x1=x
y1=y
x2=x
y2=y
dibujar=true
[/gml]
STEP
[gml]
if mouse_check_button_released(mb_left) {dibujar=false}
if (mouse_check_button(mb_left) and dibujar=true)
{
ang=point_direction(x1,y1,mouse_x,mouse_y)
x2=median(x1, mouse_x, x1+lengthdir_x(200,ang))
y2=median(y1, mouse_y, y1+lengthdir_y(200,ang))
}
[/gml]
DRAW
[gml]
draw_line_width(x1,y1,x2,y2,6)
[/gml]
Cuando se presiona con el raton, desde otro objeto se crea el objeto que dibujara la linea con el codigo de arriba.
x1 y1 sera la posicion de inicio, y x2 y2 seran la posicion final mientras se mantenga presionado el boton del raton (controlado por la variable dibujar)
El largo de la linea estara dado por el valor medio entre 3 valores, la posicion inicial (x1 y1), el cursor (mouse_x mouse_y) y el valor 200 pixels (que se dara usando la posicion inicial mas lengthdir_x, lengthdir_y y ang)
CREATE
[gml]
x1=x
y1=y
x2=x
y2=y
dibujar=true
[/gml]
STEP
[gml]
if mouse_check_button_released(mb_left) {dibujar=false}
if (mouse_check_button(mb_left) and dibujar=true)
{
ang=point_direction(x1,y1,mouse_x,mouse_y)
x2=median(x1, mouse_x, x1+lengthdir_x(200,ang))
y2=median(y1, mouse_y, y1+lengthdir_y(200,ang))
}
[/gml]
DRAW
[gml]
draw_line_width(x1,y1,x2,y2,6)
[/gml]
Cuando se presiona con el raton, desde otro objeto se crea el objeto que dibujara la linea con el codigo de arriba.
x1 y1 sera la posicion de inicio, y x2 y2 seran la posicion final mientras se mantenga presionado el boton del raton (controlado por la variable dibujar)
El largo de la linea estara dado por el valor medio entre 3 valores, la posicion inicial (x1 y1), el cursor (mouse_x mouse_y) y el valor 200 pixels (que se dara usando la posicion inicial mas lengthdir_x, lengthdir_y y ang)
221
Preguntas y respuestas / Re:Saltos precisos y caida "SOLUCIONADO"
Septiembre 25, 2018, 03:17:39 AM
La idea es tener un nuevo eje (eje z) ademas de los ejes x y, este eje controlara la altura.

Para crear la ilusion de salto se crearan 2 sprites, la sombra que sera la base del jugador y ademas la mascara de colision, y el sprite del personaje que solo estara para representarlo visualmente.
A su vez este nuevo eje z tendra su velocidad (z_vel)
Como el movimiento del eje z sera vertical, se sumara al eje y.
El codigo:
[gml]
/////////////////////////////////////////////////////////////////////////////
///CREATE
z=0
z_vel=0
z_salto=14
/////////////////////////////////////////////////////////////////////////////
///STEP
x+=(keyboard_check(ord("D"))-keyboard_check(ord("A")))*4
y+=(keyboard_check(ord("S"))-keyboard_check(ord("W")))*4
if (keyboard_check_pressed(ord("I")) and z=0) {z_vel=-z_salto}
if z_vel<20 {z_vel+=1}
if (z+z_vel)>=0
{
z_vel=0
z=0
}
z+=z_vel
/////////////////////////////////////////////////////////////////////////////
///DRAW
draw_sprite(spr_sombra, 0, x, y)
draw_sprite(spr_personaje, 0, x, (y+z))
[/gml]

Para crear la ilusion de salto se crearan 2 sprites, la sombra que sera la base del jugador y ademas la mascara de colision, y el sprite del personaje que solo estara para representarlo visualmente.
A su vez este nuevo eje z tendra su velocidad (z_vel)
Como el movimiento del eje z sera vertical, se sumara al eje y.
El codigo:
[gml]
/////////////////////////////////////////////////////////////////////////////
///CREATE
z=0
z_vel=0
z_salto=14
/////////////////////////////////////////////////////////////////////////////
///STEP
x+=(keyboard_check(ord("D"))-keyboard_check(ord("A")))*4
y+=(keyboard_check(ord("S"))-keyboard_check(ord("W")))*4
if (keyboard_check_pressed(ord("I")) and z=0) {z_vel=-z_salto}
if z_vel<20 {z_vel+=1}
if (z+z_vel)>=0
{
z_vel=0
z=0
}
z+=z_vel
/////////////////////////////////////////////////////////////////////////////
///DRAW
draw_sprite(spr_sombra, 0, x, y)
draw_sprite(spr_personaje, 0, x, (y+z))
[/gml]
222
Preguntas y respuestas / Re:Mi HUD aparece pero se teleportea alas cordenadas inversas
Septiembre 24, 2018, 08:13:30 PM
[gml]
x=view_xview[0]+50 ///50 o la posicion que quieras que este si no pones 0 aparece en la esquina arriba izquierda
y=view_yview[0]+50
[/gml]
x=view_xview[0]+50 ///50 o la posicion que quieras que este si no pones 0 aparece en la esquina arriba izquierda
y=view_yview[0]+50
[/gml]
223
Preguntas y respuestas / Re:COMO HACER QUE MI SPRITE ARMA MIRE AL CURSOR
Septiembre 24, 2018, 04:57:06 PM
No pregunte eso, pregnte para que la usas en tu juego viendo que no necesitas que el sprite gire
224
Preguntas y respuestas / Re:COMO HACER QUE MI SPRITE ARMA MIRE AL CURSOR
Septiembre 24, 2018, 02:07:00 AM
Una duda, para que usas image_angle y point_direction?
225
Preguntas y respuestas / Re:error de #! GAME_SAVE _WriteFile: No such file or directory
Septiembre 24, 2018, 01:59:44 AM
Lo estas probando en Windows o Android ?