Vereis, necesito que otro personaje me siga, algo como ha hecho F3R en pok?mon reloaded.
He usado el move towards point. El objeto personaje al pulsar boton S crea un objeto a su lado que es el que le sigue.
Al objeto pikachu, que es el que seguir? al personaje, le he puesto en step el evento move towards point, he marcado other y las coordenadas respecto a las que se crear? del personaje, pero tengo un problema...
al crearse, el personaje sale disparado hacia una esquina y ya no se mueve y el pikachu no le sigue, es m?s, si junto los dos objetos sin pulsar el S para crear a pikachu, el personaje no se mueve tampoco :-[
se que hay temas sobre esto pero lo he intentado como han dicho y no me sale :( :(
pues lo que debes hacer es poner en el picach? self y no en other , en donde dice "x" es personaje.x y donde dice "y" es personaje.y y pues la velocidad
personaje es el nombre del objeto a cual seguir
funciona pero..... el personaje tiembla y si cambio los valores sale disparado mmm...no habeis jugado a pokemon reloaded? me gustar?a hacerlo as?
pues si lo que quieres es que te siga atras de ti debes de poner cuatro condiciones en codigo
te recomiendo que en el dibujo de tu personaje centres la cordenada asi si mide 32x32 quedaria centrada en 16
me habia equivocado pero es asi:
if personaje.direction=0 {
mp_linear_step(personaje.x-32,personaje.y,3,false) }
if personaje.direction=90{
mp_linear_step(personaje.x,personaje.y+32,3,false) }
if personaje.direction=180{
mp_linear_step(personaje.x+32,personaje.y,3,false) }
if personaje.direction=270{
mp_linear_step(personaje.x,personaje.y-32,3,false) }
Cita de: omick en Enero 10, 2010, 05:47:18 AM
pues si lo que quieres es que te siga atras de ti debes de poner cuatro condiciones en codigo
te recomiendo que en el dibujo de tu personaje centres la cordenada asi si mide 32x32 quedaria centrada en 16
me habia equivocado pero es asi:
if personaje.direction=0 {
mp_linear_step(personaje.x-32,personaje.y,3,false) }
if personaje.direction=90{
mp_linear_step(personaje.x,personaje.y+32,3,false) }
if personaje.direction=180{
mp_linear_step(personaje.x+32,personaje.y,3,false) }
if personaje.direction=270{
mp_linear_step(personaje.x,personaje.y-32,3,false) }
me funciona perfectamente! gracias^^ pero tengo una duda m?s... el pkachu hay veces que se queda a la izquierda o derecha del personaje mire para donde mire, hay alguna manera de hacer que se quede siempre detr?s? ando perdido con esto... :o
pues eso depende de como estes haciendo el movimiento de tu personaje
si me lo explicas un poco podre ayudarte
el movimiento de mi personaje est? en 16x16 como supondr?s, y para que se mueva hago esto:
para la izquierda por ejemplo, para otro lado ya seria cambiandole los valores:
if global.moverjugador=0
{
if place_snapped(16,16)=true
{
action_move("000100000",2);
sprite_index= left_ash
image_single= all
image_speed=0.2
global.move=izquierda
}
}
y para que se quede quieto lo mismo pero con eventos en vez de con code.
te referias a eso?
pues funcionaria solo con esto
primero en create tendrias
image_speed=0.2
global.moverjugador=0
global.move="right"
y esto en el que tenias de izquierda
if global.moverjugador=0
{
action_move("000100000",2);
global.move="left"
}
y en derecha seria global.move="right"
y en end step pones
execute_string('sprite_index=ash_'+global.move)
//cambia el nombre de tus sprites de left_ash a ash_left etc.
si no lo as resuelto, usa las id de los personajes a seguir. a ver un ejemplo.
var a;
a= instance_nearest(x,y,other)
move_towards_point(a.x,a.y,5)
cambia other por el object a seguir.
lo que haces es tomar la id de la instancia other indicada mas cercana y guardarla en la variable "a"
y luego en move_towards decir que siga a la instancia con esa id.
el c?digo que me puso el anterior usuario me funciona el unico problem es cuando pikachu se queda atascado que hay que volver a por el xd