Noticias

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

* Sponsor

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 ... 84
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

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

3
Preguntas y respuestas / Re:Duda sobre "X Y" y "Direction"
« en: Agosto 18, 2020, 09:00:35 pm »
¿eso hace que los componentes que son hspeed y vspeed se adapten segun... La direcion y magnitud del vector?
Sí, y viceversa. Las cuatro variables de velocidad se mantienen sincronizadas entre sí, cambias una y las otras tres se adaptan automáticamente.



Aunque ahora que lo mencionas, este código que pusiste no debería funcionar, porque el evento Create se ejecuta antes que lo del with, de modo que estarías moviendo la instancia antes de definir su velocidad.
 
/// Event Step obj_player
if (keyshoot && ammo > 0)  {
   with(instance_create(x, y, obj_bullet) ) {
      direction = image_angle;
      speed = 7;
   }

/// Event Create obj_bullet
x = x + (2*hspeed);
y = y + (2*vspeed);

4
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.

5
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

6
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

7
Podrías usar la API de Gamejolt.
https://gamejolt.com/game-api/doc

8
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

9
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]);

11
Preguntas y respuestas / Re:Modelo 3D con color y alpha variables
« en: Julio 25, 2020, 12:29:33 am »
Tendrías que hacer tú mismo el cálculo del color resultante para cada vértice de los modelos. Se me ocurre algo así:

Para establecer el color y alpha de blending para los modelos tendrías que utilizar una variable global y un script diferente:
///Algún evento create
global.color = c_white;
global.alpha = 1;
Luego, un script para establecer el color y alpha de blending para los modelos:
///draw_set_color2(color, alpha);
global.color = argument0;
global.alpha = argument1;

Luego, un script para obtener el color resultante de la mezcla:
(GM utiliza el "darken blending mode", que selecciona el menor de los componentes de color RGB.)
///color2(color);

return make_colour_rgb(
    min(colour_get_red(argument0), colour_get_red(global.color)),
    min(colour_get_green(argument0), colour_get_green(global.color)),
    min(colour_get_blue(argument0), colour_get_blue(global.color))
);
Y por último, un script para obtener el alpha resultante:
///alpha2(alpha);
return argument0*global.alpha;

Ahora, cuando quieras dibujar figuras que respondan tanto a su color de vértice como al "color global", tendrías que hacer algo así:
/// Evento Draw
draw_set_color2(c_yellow, 0.5);

d3d_primitive_begin(pr_trianglestrip);

d3d_vertex_colour(100, 100, 0, color2(c_white), alpha2(1));
d3d_vertex_colour(200, 200, 100, color2(c_gray), alpha2(1));
d3d_vertex_colour(150, 100, 200, color2(c_black), alpha2(1));

d3d_primitive_end();
Dibujé primitivas, pero creo que también funcionará en vértices de modelos.

13
Una forma más fácil sería solo hacer esto:
/// Evento alarm
bonus = instance_create(0, 0, obj_bonus)
with(bonus) {
    while(!place_empty(x, y))
        x = irandom(room_width /32)*32;
        y = irandom(room_height/32)*32;
    }
}
Así te ahorras el uso de esos arreglos xpos y ypos.

Páginas: 1 2 3 ... 84