Noticias

Se ha publicado un nuevo servicio, el Portal de Juegos Online

Comunidad Game Maker

Bienvenid@ a la comunidad hispana de Game Maker. Nuestro objetivo es crear videojuegos y dar soporte en castellano de GM. Para mejorar nuestro servicio hemos implantado, como adicion al reglamento general, algunas normas especificas en los subforos más comunes. ¡No olvides informarte antes de participar!.

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - bygdle

Páginas: 1 2 3 ... 9
1
El manual dice:
Citar
Note: this function sets the speed of the instance, so even if you stop using this code, the instance will keep moving in the previous direction, so it is necessary to set the instance speed to 0 if you wish it to stop. See the code example below.

http://docs.yoyogames.com/source/dadiospice/002_reference/movement%20and%20collisions/movement/move_towards_point.html

Además, los dos primeros parámetros de la función son las coordenadas (x,y) absolutas a las que quieres mover el objeto, pero tú le estás pasando un ángulo, cosa que no tiene sentido.



Una solución simple sería hacer esto:
if (keyboard_check(ord("W"))) {
    x += lengthdir_x(velocidad, direction);
    y += lengthdir_y(velocidad, direction);
}
if (keyboard_check(ord("S"))) {
    x -= lengthdir_x(velocidad, direction);
    y -= lengthdir_y(velocidad, direction);
}
Personalmente no me gusta usar las funciones de movimiento del GM, prefiero modificar directamente las coordenadas de los objetos.

http://docs.yoyogames.com/source/dadiospice/002_reference/maths/real%20valued%20functions/lengthdir_x.html
http://docs.yoyogames.com/source/dadiospice/002_reference/maths/real%20valued%20functions/lengthdir_y.html
Los siguientes usuarios dieron las gracias a este tema: Martinzilloxd

2
En windows puedes obtener la información de las variables de entorno, así:
environment_get_variable("USERNAME");
http://docs.yoyogames.com/source/dadiospice/002_reference/miscellaneous/environment_get_variable.html
https://www.rapidee.com/en/environment-variables
Los siguientes usuarios dieron las gracias a este tema: Alemar5

3
Preguntas y respuestas / Re:Duda sobre "X Y" y "Direction"
« en: Agosto 18, 2020, 08:04:46 pm »
1. direction y speed son la dirección y magnitud del vector velocidad, respectivamente, y hspeed/vspeed son sus componentes. Además, el signo de speed representa el sentido del vector.

2. Las funciones lengthdir_x(d, r) y lengthdir_y(d, r) son simplificaciones de las funciones trigonométricas, así:
lengthdir_x(d, r) == d*dcos(r);
lengthdir_y(d, r) == -d*dsin(r);
(dcos() y dsin() son equivalentes a cos() y sin(), con la diferencia de que reciben el ángulo en grados y no en radianes.)

La razón por la que se multiplica la función sin() por -1 es que el eje vertical en las computadoras está invertido (los positivos "bajan") respecto a como se representa normalmente en un plano cartesiano (los positivos "suben").
no me abras pls


3. Este código:
/// Event Create obj_bullet
x = x + (2*hspeed);
y = y + (2*vspeed);
Lo que hace es evitar que la bala "empiece a moverse" desde la misma ubicación que el jugador, con esa suma lo que se hace es posicionar de inmediato la bala a donde debería estar dentro de dos steps (adelantar el tiempo... (?)... ), considerando la velocidad que lleva.
Los siguientes usuarios dieron las gracias a este tema: getnoff

4
Preguntas y respuestas / Re:que el codigo afecte solo a una instancia
« en: Agosto 17, 2020, 04:19:32 am »
var obj = instance_place(x + sign(image_xscale), y, obj_buster);
if(instance_exists(obj))
with(obj) {
    // bla bla bla...
}
http://docs.yoyogames.com/source/dadiospice/002_reference/objects%20and%20instances/instances/instance%20functions/instance_place.html
Los siguientes usuarios dieron las gracias a este tema: Kain88

5
instance_create(x + lengthdir_x(15, image_angle), y + lengthdir_y(15, image_angle), bala_coomp_navecita)
http://docs.yoyogames.com/source/dadiospice/002_reference/maths/real%20valued%20functions/lengthdir_x.html
Los siguientes usuarios dieron las gracias a este tema: 8 bits

6
objeto_a_crear = asset_get_index(global.texto_R3[global.contador_texto+1]);

http://docs.yoyogames.com/source/dadiospice/002_reference/game%20assets/asset_get_index.html
Los siguientes usuarios dieron las gracias a este tema: Fielone_MBC

7
Preguntas y respuestas / Re:Forma de juntar texto con variables?
« en: Julio 27, 2020, 01:19:57 am »
text[0] = "He desechado " + string(global.Item[0]);
Los siguientes usuarios dieron las gracias a este tema: Asterth

8
El manual recomienda utilizar get_string_async():
docs.yoyogames.com/source/dadiospice/002_reference/asynchronous%20functions/get_string_async.html
Los siguientes usuarios dieron las gracias a este tema: GM Sigma

9
Preguntas y respuestas / Re:reconocer los argumentos de los scripts
« en: Mayo 21, 2020, 08:28:36 am »
Al principio del script coloca los argumentos como un comentario con tres barras inclinadas, así:
///pp_sprite(argumento1, argumento2, blablabla);
//el código de tu script
Los siguientes usuarios dieron las gracias a este tema: dixon

10
Preguntas y respuestas / Re:Como se pasa de json_decode a tener 2 arrays
« en: Septiembre 10, 2019, 04:31:28 am »
Según EL MANUAL, la función json_decode() devuelve un mapa con una única entrada: "default".

Dentro de dicha entrada se almacena toda la información. Si el JSON es un arreglo (lo sabes porque está escrito de la forma [a, b, c, ...]), entonces la función convierte los datos en una lista; y si el JSON es un objeto (lo sabes porque está escrito de la forma {a:b, c:d, ...}), entonces la fución convierte los datos en otro mapa.



En el caso de las consultas SQL, el JSON suele ser algo así:
Código: [Seleccionar]
[
    {
        "nick":"keponem",
        "sc":"255"
    },
    {
        "nick":"olakase",
        "sc":"78"
    },
    {
        "nick":"jejeje",
        "sc":"15"
    },
    {
        "nick":"jejejeee",
        "sc":"0"
    },
    {
        "nick":"tytyty",
        "sc":"0"
    },
    {
        "nick":"Sobako",
        "sc":"0"
    }
]

Como puedes apreciar, se trata de un arreglo "grandote" que contiene un objeto "chiquito" en cada índice, así que la función lo convertiría a algo así:



Por tanto, si quieres recorrer todos los mapas"chiquitos" que están en  la lista "grandota", entonces primero debes acceder al mapa "grandotote":
var res = json_decode(result); //obtener mapa grandotote
var dat = res[? "default"]; //Acceder a la llave "default"  del mapa grandotote

//En dat ahora se ha guardado la lista grandota, así que ahora vamos a recorrerla

var nicktable, sctable;
var obj;
for(var i = 0; i < ds_list_size(dat); i++) {
    obj = dat[| i]; //acceder al mapa chiquito de la lista grandota ubicado en la posición i
    //guardar cada propiedad en su respectivo arreglo
    nicktable[i] = obj[? 'nick'];
    sctable[i] = obj[? 'sc'];
}

Todo se resume en leer EL MANUAL, como te dije en Discord.

PD: Debes colocar en el post el ícono de la versión de GM que estás usando.
Los siguientes usuarios dieron las gracias a este tema: Johann

11
Preguntas y respuestas / Re:Salto de línea al usar file_text_write_string
« en: Septiembre 09, 2019, 12:05:19 am »
He encontrado una solución provisional.
Este es el código cuando cargue del fichero el nombre de las unidades:
nombre=string_replace_all(file_text_read_string(global.j)," ","")
Esto elimina de la cadena el espacio (" ") que aparece al principio.
Es una chapuza, pero he hecho unas pocas pruebas y ya no me aparece el error, por lo que con esto se ha solucionado mi problema.
También podrías hacer algo así:
nombre = string_delete( file_text_read_string(global.j), 1, 1 );
Para eliminar solamente el primer caracter de la cadena.
Los siguientes usuarios dieron las gracias a este tema: Marth

12
Preguntas y respuestas / Re:Salto de línea al usar file_text_write_string
« en: Septiembre 08, 2019, 09:50:13 pm »
¿Cómo cargas los datos? De primera mano se me ocurre que al momento de cargar la variable nombre estás trayendo también el espacio que está antes, y que es por eso que se van acumulando por cada guardado.
Los siguientes usuarios dieron las gracias a este tema: Marth

13
Preguntas y respuestas / Re:Multiples colores en una sola string
« en: Junio 27, 2019, 04:25:36 pm »
Puedes usar esta extensión:
https://marketplace.yoyogames.com/assets/6533/atex
Los siguientes usuarios dieron las gracias a este tema: FernandoNavarro

14
Preguntas y respuestas / Re:Limitacion en modo de movimiento diagonal
« en: Mayo 25, 2019, 08:10:00 pm »
Eso sucede porque cuando el movimiento es diagonal, las componentes de movimiento vertical y horizontal valen (ambas) 4, que al sumarse dan como resultado un número mayor (4√2).

Para corregir esto, deberías hacer lo siguiente:
///EVENTO STEP

//Primero, consigues las componentes del movimiento como lo haces normalmente:
var hmove = keyboard_check(vk_right) - keyboard_check(vk_left);
var vmove = keyboard_check(vk_down)  - keyboard_check(vk_up);

//Segundo, calculas el ángulo que forman ambas componentes entre sí
var angle = point_direction(0, 0, hmove, vmove);

//Tercero, multiplicas el valor de la velocidad por las componentes del ángulo.
var hvel = abs(hmove) * vel * dcos(angle);
var vvel = abs(vmove) * vel * dsin(angle);
//(se multiplica también por "abs(hmove)" para evitar que haya movimiento cuando no se está presionando la tecla)

//Cuarto, mueves el objeto
x += hvel;
y -= vvel;
Los siguientes usuarios dieron las gracias a este tema: Johann, Marcusmaniacus

15
Preguntas y respuestas / Re:Como se podría crear un valor aleatorio?
« en: Mayo 02, 2019, 02:28:34 am »
Usa las funciones de aleatoriedad de GM:
http://docs.yoyogames.com/source/dadiospice/002_reference/maths/real%20valued%20functions/index.html
Sección "Random functions".

PD: Debes colocar en el post el ícono de la versión de GM que estás utilizando.
Los siguientes usuarios dieron las gracias a este tema: FourFox

Páginas: 1 2 3 ... 9