Mostrar Mensajes

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.

Mensajes - bygdle

211
[gml]
///Evento step del objeto
var near = instance_nearest(x, y, object_index);
var dist = distance_to_object(near); //Ésta es la distancia.
[/gml]
212
¿Hablas de éste?
www.comunidadgm.org/index.php?topic=28804.0
213
Usa el sistema BGR (Blue Green Red) y ocupa 3 bytes por color. Sí, utiliza binarios.
Por ejemplo, el rojo, su valor es 255, que en binario es:

00000000 00000000 11111111
     B             G           R

Como ves, el 255 hace que sólo haya color rojo en la mezcla.

Ahora, por ejemplo el amarillo, es 65535 (256^2 - 1), que en binario es:

00000000 11111111 11111111
      B            G            R

Es una mezcla entre rojo y verde.

Y el blanco, es 16777215 (256^3 - 1), que en binario es:

11111111 11111111 11111111
      B            G           R

Una mezcla de los tres.
214
Por eso mismo. Da igual que tengas la imagen original como GIF, al pasarlo a GM éste la convierte a PNG-24 (4 bytes por pixel). Así que guardar los sprites como GIF sólo dañará la resolución, no influirá casi nada en el peso.
215
Preguntas y respuestas / Re:Colison objeto con pared
Octubre 19, 2017, 02:16:27 AM
¿Cuál es el código que usas?
217
Cita de: kostra en Octubre 16, 2017, 05:50:06 PM
el d e penumbra me quedé yo con las ganas, lo seguí sin saber que estaba incompleto xD a ver si él ve este post y os unís en un proyecto para COMPLETARLO XD
El manual ya está en traducción otra vez.
http://www.comunidadgm.org/index.php?topic=29571.0
218
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 15, 2017, 03:52:14 AM
Cita de: Naitsabes0 en Octubre 15, 2017, 03:42:13 AM
¿Estas seguro que los errores están en que estamos usando un sprite en vez de usar código?
Y dale con eso. "El problema no es mi código, es que el GML funciona mal". ¿Por qué en todas las preguntas sales con lo mismo?

Ahora a la cuestión, ¿En qué eventos ejecutas este código?
[gml]
//Creamos en el emisor
part_emitter_stream(corazon,corazon_emisor,particula_corazon,-5);
[/gml]
Ten en cuenta que esa línea de código es la que crea las partículas en la sala, por lo que si lo ejecutas en el evento create ahí está el problema. Yo copié este código en un proyecto vacío:
[gml]
///--------TODO ESTO EN EL EVENTO CREATE--------------
corazon = part_system_create();
particula_corazon = part_type_create();
part_type_sprite(particula_corazon, spr_Corazon, true, true, false); //La forma de la particula
part_type_color1(particula_corazon, 55295); //El color de la particula
part_type_orientation(particula_corazon, 0, 0, 0, 0, 1); //La rotacion aleatoria de la particula
//part_type_size(particula_corazon, 0.05, 0.25, 0, 0); //Tamaño aleatorio de la particula
part_type_speed(particula_corazon, 1, 1.5, 0.05, 0); //Velocidad de la particula
part_type_direction(particula_corazon, 270, 270, 0, 4); //Direccion de la particula
part_type_life(particula_corazon, 180, 210); //Duracion de la particula

corazon_emisor = part_emitter_create(corazon);
//Establecer region de la habitacion donde se creara el emisor, el perfil y la forma de distribucion
part_emitter_region(corazon,corazon_emisor,100,room_width-100,10,room_height - 10,ps_shape_ellipse,ps_distr_linear);

alarm[0] = room_speed;
[/gml]
(Modifiqué el área en part_emitter_region())

Y este:
[gml]
///-------------TODO ESTE EN EL EVENTO ALARM[0]---------
part_emitter_stream(corazon,corazon_emisor,particula_corazon,-5);
alarm[0] = room_speed;
[/gml]
Y al probar, voilà:

219
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 15, 2017, 03:12:45 AM
El error está en el tamaño de la partícula. Es demasiado pequeño como para que se vea el sprite. Aumenta su tamaño.
220
[gml]
////Evento Other >> Animation end
if(sprite_index == spr_enemigo01_hurt)
{
    image_speed = 0;
    image_index = 0;
}
[/gml]
221
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 15, 2017, 02:19:46 AM
Te falta una línea como ésta:
[gml]corazon = part_system_create();
[/gml]
222
No había entendido que era una pregunta xDxdXd.
Pues, como dice [user]eltantillo[/user], necesitarás almacenar la id de todos las instancias del mismo objeto en una estructura de datos. Algo así:
[gml]
///Algún evento create de un controlador
globalvar enemigos;
enemigos = ds_list_create();
[/gml]
[gml]
///El evento donde quieras guardas las id.
with(objEnemigo)
{
    ds_list_add(enemigos, id);
}
[/gml]
[gml]
///El evento create del misil
var maxdist = ds_priority_create();
for(var i = 0; i < ds_list_size(enemigos); i++)
{
   var enemigo = enemigos[| i]; //Obtenemos el enemigo en la posición i.
   if(!instance_exists(enemigo)) continue; //Si no existe, saltamos al siguiente.

   var dist = distance_to_object(enemigo);
   ds_priority_add(maxdist, enemigo, dist);
}
near = ds_priority_delete_min(maxdist);

ds_priority_destroy(maxdist);
[/gml]
[gml]
var pd = point_direction(x, y, near.x, near.y);

var dd = angle_difference(image_angle, pd);
image_angle -= min(abs(dd), 10) * sign(dd);

move_towards_point(near.x, near.y, 2);
[/gml]
Así todos seguirán a uno distinto.
223
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 14, 2017, 05:53:37 AM
Pues claro, hay que crear el emisor. El código de abajo es lo que deberías tener en el objeto de partícula corazón.

Por lo que veo, necesitas de los dos sistemas: El de la nieve y el de los corazones; utiliza otra variable como emisor, no modifiques el de la nieve
224
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 14, 2017, 04:26:50 AM
O sea, reemplazase los códigos part_type*() que tenías antes por los que utilizan el sprite, ¿verdad? Muestra el código con el que creas las partículas en pantalla.
225
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 14, 2017, 03:22:01 AM
mmm... es extraño. ¿La consola o el GM te muestran algún error? ¿Cómo creas las partículas (no el emisor ni el tipo, las partículas en sí) en el juego?