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

226
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 13, 2017, 05:58:33 PM
................................................

En tu caso sería así:
[gml]
particula_nieve = part_type_create();
part_type_sprite(particula_nieve, sprCorazon, true, true, false); //La forma de la particula
part_type_color1(particula_nieve,55295); //El color de la particula
part_type_orientation(particula_nieve,0,0,0,0,1); //La rotacion aleatoria de la particula
part_type_size(particula_nieve,0.05,0.25,0,0); //Tamaño aleatorio de la particula
part_type_speed(particula_nieve,1,1.5,0.05,0); //Velocidad de la particula
part_type_direction(particula_nieve,180,180,0,4); //Direccion de la particula
part_type_life(particula_nieve,180,210); //Duracion de la particula
[/gml]
Realmente pienso que era sólo cuestión de leer.
227
Preguntas y respuestas / Re:funcion indibidual
Octubre 13, 2017, 05:08:18 AM

Si tienes dudas, la idea es que preguntes, ¿no? Que aún no leo mentes por internet >.<

(Eh imtenta escrivir megor, no tesejhnetinede kasi lo k dises).
228
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 13, 2017, 01:33:06 AM
Se supone que era un ejemplo, no que lo tenías que copiar tal cual como estaba -_- XD. Lee la documentación y adapta la función a tu código.
229
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 12, 2017, 05:40:07 PM
Eso significa que algo estás haciendo mal, ¿no crees? Muestra el código que escribiste.
(Y no, no se necesita darle un sprite al objeto que crea la partícula).
230
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 12, 2017, 02:19:01 AM
En el manual hay un ejemplo, ¿no?
Cita de: ¡Vaya! Parece que el manual sí trae un ejemploExample:
[gml]
global.p1 = part_type_create();
part_type_sprite(global.p1 , spr_Coins, 1, 0, 0);
part_type_size(global.p1, 1, 3, 0, 0);
part_type_scale(global.p1, 1, 1);
part_type_colour1(global.p1, c_white);
part_type_alpha2(global.p1, 1, 0);
part_type_speed(global.p1, 2, 4, 0, 0);
part_type_direction(global.p1, 0, 180, 0, 0);
part_type_gravity(global.p1, 0.20, 270);
part_type_orientation(global.p1, 0, 0, 0, 0, 1);
part_type_blend(global.p1, 1);
part_type_life(global.p1, 15, 60);
[/gml]

The above code sets the particle type indexed in the global variable "p1" to the shape of the sprite indexed in "spr_Coins", and then sets various other particle properties.
231
[gml]
var donde = oPlayer.x - x; //Calculamos la distancia horizontal entre el player y el enemigo
//oPlayer es el nombre del jugador
if(abs(donde) <= 26) //Si la distancia es menor que 26 (ÉSTE ERA EL PRIMER ERROR)
{
    donde = sign(donde); //Obtenemos la dirección en la que debe mirar (1: derecha, -1: izquierda)
    hspeed = 0; //Detenemos al enemigo
    if(donde == 1) //Si debe mirar a la derecha
        sprite_index = sAtacando_derecha; //Mira a la derecha
    else //De lo contrario
        sprite_index = sAtacando_izquierda; //Mira a la izquierda
}
else //De lo contrario
{
    if(hspeed == 0)
    {
        hspeed = choose(-1.3, 1.3); //Andar a la derecha o a la izquierda aleatoriamente.
        if(sign(hspeed) == 1) //FALTABA ESTO PARA REGRESAR AL SPRITE DE CAMINAR
            sprite_index = sCaminando_derecha;
        else
            sprite_index = sCaminando_izquierda;
    }
}
[/gml]
232
xDXdXd, ¡ando medio dormido! Lo siento, fue mi error.
[gml]
var donde = oPlayer.x - x; //Calculamos la distancia horizontal entre el player y el enemigo
//oPlayer es el nombre del jugador
if(abs(donde) <= 26) //Si la distancia es menor que 26 (ÉSTE ERA EL PRIMER ERROR)
{
    donde = sign(donde); //Obtenemos la dirección en la que debe mirar (1: derecha, -1: izquierda)
    hspeed = 0; //Detenemos al enemigo
    if(donde == 1) //Si debe mirar a la derecha
        sprite_index = sAtacando_derecha; //Mira a la derecha
    else //De lo contrario
        sprite_index = sAtacando_izquierda; //Mira a la izquierda
}
else //De lo contrario
{
    hspeed = choose(-1.3, 1.3); //Andar a la derecha o a la izquierda aleatoriamente.
    if(sign(hspeed) == 1) //FALTABA ESTO PARA REGRESAR AL SPRITE DE CAMINAR
        sprite_index = sCaminando_derecha;
    else
        sprite_index = sCaminando_izquierda;
}
[/gml]
A ver si ésta si sirve, xD.
233
Preguntas y respuestas / Re:Hacer efectos de fondo
Octubre 12, 2017, 12:58:18 AM
Exacto.
(No es que no se pueda, es que es innecesariamente complejo —además dibujar un sprite gasta mucho menos procesamiento que un montón de puntos en forma de corazón—).
234
Vale, xD. Cuando el enemigo esté a X distancia del jugador, le detenemos y hacemos que cambie al sprite de ataque en la dirección en que esté, ¿verdad?
[gml]
var donde = oPlayer.x - x; //Calculamos la distancia horizontal entre el player y el enemigo
//oPlayer es el nombre del jugador
if(abs(donde) >= 26) //Si la distancia es menor que 26
{
    donde = sign(donde); //Obtenemos la dirección en la que debe mirar (1: derecha, -1: izquierda)
    hspeed = 0; //Detenemos al enemigo
    if(donde == 1) //Si debe mirar a la derecha
        sprite_index = sAtacando_derecha; //Mira a la derecha
    else //De lo contrario
        sprite_index = sAtacando_izquierda; //Mira a la izquierda
}
else //De lo contrario
{
    hspeed = choose(-1.3, 1.3); //Andar a la derecha o a la izquierda aleatoriamente.
}
[/gml]
237
Agrega esto en el evento step:
[gml]
var donde = sign(oPlayer.x - x); //oPlayer es el nombre del jugador
if(donde <> 0)
{
    hspeed = 1.3 * donde;
    if(donde == 1)
        sprite_index = sAtacando_derecha;
    else
        sprite_index = sAtacando_izquierda;
}
[/gml]
EDIT: Había un error, lo corregí.
238
A varios enemigos... pero ¿a cuáles?
Lo más fácil sería que siguieran al más cercano:
[gml]
var near = instance_nearest(x, y, obj_player); // ¿un enemigo con el nombre de "player"? Vaya, xD.
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]
239
Cita de: royer11 en Octubre 11, 2017, 11:07:14 PM
tienes toda la raazon, la emocion no me hace especificarme, en fin ..

es un juego de zombie, debe ser similar a mario, entonces es de plataformas, el enemigo va por el suelo y es afectado por la gravedad, teniendo encuenta los bloques, tambien va ha ser afectado, espero que lo entiendas, y mucha gracias por responder
Mejor. Ahora, ¿puedo ver el código con el que mueves al enemigo? Hay varias formas de hacer lo que buscas, y sin conocer el código actual tal vez te dé soluciones muy complicadas o que te hagan cambiar todo el código.
240
Da más información de tu enemigo y tu juego. ¿Cómo se mueve el enemigo? ¿Es un juego de plataformas? ¿El enemigo va "por el suelo", o sea, se ve afectado por la gravedad y debe tener en cuenta los bloques sólidos, o sólo va de izquierda a derecha ignorando todo lo anterior?