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 - Croer

16
no lo he provado pero creo que a?adiendo esto funcionara:
//argument0 el objeto a perseguir.

//argument1 velocidad andando

//argument2 velocidad corriendo

argument0=obj_personaje;
argument1=2;
argument2=4;

if x>obj_personaje.x {sprite_index=cabra_I;}
if x<obj_personaje.x {sprite_index=cabra_D;}

if place_free(x,y+1){gravity=0.5}else{gravity=0;}

var dir;

dir=(x<argument0.x)*2-1

if place_free(x+5*dir,y){ x+=argument1*dir}

////////////trozo modificado//-> yo he puesto argument0.x en vez de obj_personaje.x
if distance_to_object(obj_personaje)<100{
x+=argument2*dir;
if x>argument0.x{sprite_index=cabra_corriendo_I;}
if x<argument0.x{sprite_index='el nombre del sprite'}
}

Esto seria simplemente igual que cuando anda, tienes que verificar si la x es mas grande o mas peque?a para cambiar de sprite, espero que te funcione  :)
17
mira que no lo hayas puesto en un event equivocado, porque si lo pones en el evento create seguro que no te funciona o quiza la distancia de 20 es demasiado peque?a para que el enemigo pueda hacer la accion, tambien puede ser que este mal la accion que esta entre {}, si pudieras poner el c?digo quiza seria mas facil darte una soluci?n, igualmente mira lo que te dicho que puede ser que falle una de esas cosas. Espero que te sea ?til. :)
18
Preguntas y respuestas / Re: Crear una luz
Abril 18, 2010, 08:57:11 PM
he hecho otro ejemplo, pero esta vez mucho mejor i mas realista XD
aviso que el sistema que uso no lo he creado yo, lo digo porque nadie diga que me he apropiado de su idea. :-[
Espero que te guste :)
19
Preguntas y respuestas / Re: Crear una luz
Abril 18, 2010, 01:39:54 PM
te he hecho un peque?o ejemplo. No se si es lo que quieres pero espero que te sirva. :)
sobre el color negro como veras no queda muy bien :-[
20
el problema es muy simple: lo que te passa es que tu dices que cuando colisiona con la pared, destruya todas las paredes. Para solucionarlo lo unico que tienes que poner es esto:
//cuando la bola de fuego colisiona con el muro...
instance_destroy()
with(other){
instance_create(other.x,other.y,bloque_rompible_animacion);
instance_create(other.x,other.y,explosion);
instance_destroy()
};

Con esto lo que le dices a la bola de fuego es que aplique el codigo al otro(other) objeto que interviene en la colision, en este caso la pared i no a todas las instancias que hay en el juego.
No e probado el codigo pero deveria funcionar ;D
Espero que funcione :) i puedas seguir con el proyecto
21
ok, perfecto  :)
lo que tube que modificarlo porque no me mirava a la derecha, pero lo resolvi asi:
if direction>=45 and direction <135{sprite_index=sprite13; global.direcion='arriba';direction=90}else{direction= point_direction(x+0,y+0,mouse_x,mouse_y)};
if direction>=225 and direction <314{sprite_index=sprite8; global.direcion='abajo';direction=270}else{direction= point_direction(x+0,y+0,mouse_x,mouse_y)};
if direction>=135 and direction <225{sprite_index=sprite12; global.direcion='izquierda';direction=180}else{direction= point_direction(x+0,y+0,mouse_x,mouse_y)};
if direction<=315 and direction <45{sprite_index=sprite14; global.direcion='derecha';direction=0}else{direction= point_direction(x+0,y+0,mouse_x,mouse_y)};

La verdad que no havia caido en utilizar intervalos en vez de un numero en concreto como hacia :-[ ahora puedo continuar con el proyecto. :)
merci Ruisu~
22
En un proyecto en el que estoy trabajando, quiero que el personaje mire siempre hacia el raton, es decir, que si el raton esta arriba cambie por el sprite que mira hacia arriba, si esta abajo por el sprite que mira abajo, etc. El problema esta que no se como hacerlo. He provado verificando la direccion del raton poniendo esto en el evento step del personage(nombre objeto:pers): point_direction(pers.x,pers.y,mouse_x,mouse_y) i luego en el mismo evento step esto: if direction=90{sprite_index=sprite13; global.direcion='arriba';direction=90}else{direction= point_direction(x+0,y+0,mouse_x,mouse_y)};
if direction=270{sprite_index=sprite8; global.direcion='abajo';direction=270}else{direction= point_direction(x+0,y+0,mouse_x,mouse_y)};
if direction=180{sprite_index=sprite12; global.direcion='izquierda';direction=180}else{direction= point_direction(x+0,y+0,mouse_x,mouse_y)};
if direction=0{sprite_index=sprite14; global.direcion='derecha';direction=0}else{direction= point_direction(x+0,y+0,mouse_x,mouse_y)};

if global.direcion='arriba' {sprite_index=sprite13;}
if global.direcion='abajo' {sprite_index=sprite8;}
if global.direcion='derecha' {sprite_index=sprite12;}
if global.direcion='izquierda' {sprite_index=sprite14;}


con todo esto lo consigo hacer pero el problema esta en que el raton tiene que estar a 90 grados, si esta a 90,01 no cambia :'( i eso hace que si mueves el raton a una velocidad rapida sea impossible que cambie el sprite
En definitiva necessitaria que alguin me pudiera ayudar ha hacer lo que pido. No importa si cambiais el codigo i en realidad quiero que gire en 8 direcciones pero aun no le hecho los sprites de las diagonales :-[ :-[ :-[
Gracias de antemano