Bueno bueno... mi pregunta es:
Como puedo hacer un enemigo similar al "Charg'in Chuck" de Super Mario World?
Osease:
- Que al notar la presencia del Jugador, lo persiga
- Que al acercarse a un abismo o un obstaculo, sea capaz de saltar y evitarlo (Sin la necesidad de un objeto que al colisionar con Chuck lo haga saltar)
- Que se le pueda confundir al esquivarlo
Y tambien un "Hovering Smog" de Wonder Boy 3
Osease:
- Que al notar la presencia del Jugador, lo persiga volando, pero que no se mueva verticalmente, solo horizontalmente
- Que entre mas tiempo lleve persiguiendolo, aumente la velocidad
- Que cuando el jugador frene se deslize mientras frena (Como si caminara en el hielo)
y yap, por el momento eso es todo
De antemano muchas gracias!
if instance_exists(objJugador) //verifica si esxiste el jugador
{
if distance_to_object(objJugador)<64 //verifica si esta cerca
{
if (x < objJugador.x) //verifica si esta a su izquierda
{
if place_free(x+5,y) and !place_free(x+8,y+1) //verifica si tiene espacio para moverse y si no hay huecos.
{
x+=5; //se mueve a la derecha.
}
else //de lo contrario
{
if place_free(x+8,y+1) and !place_free(x,y+1) //verifica si hay hueco.
{
vspeed-=12; x+=5; //salta.
}
}
//coloca el codigo invertido para la izquieda con valores negaticos -
Aun no soy muy bueno con los codigos, y no me sale que vaya al otro lado... y ademas da enormes saltos sin avanzar XD
Habian echo una guerrade I.A. especialmente de plataformas, pero la verdad no se donde quedo, los participantes deben saber
en donde quedo ? los organizadores de dicho concurso.
Cita de: Haku-shinigami en Junio 26, 2010, 01:25:02 AM
Aun no soy muy bueno con los codigos, y no me sale que vaya al otro lado... y ademas da enormes saltos sin avanzar XD
Bueno como veo que no pudiste terminar el codigo de elviskelley
if instance_exists(objJugador) //verifica si esxiste el jugador
{
if distance_to_object(objJugador)<64 //verifica si esta cerca
{
if (x < objJugador.x) //verifica si esta a su izquierda
{
if place_free(x+5,y) and !place_free(x+8,y+1) //verifica si tiene espacio para moverse y si no hay huecos.
{
x+=5; //se mueve a la derecha.
}
else //de lo contrario
{
if place_free(x+8,y+1) and !place_free(x,y+1) //verifica si hay hueco.
{
vspeed-=12; x+=5; //salta.
if (x > objJugador.x) //verifica si esta a su derecha
{
if place_free(x-5,y) and !place_free(x-8,y+1) //verifica si tiene espacio para moverse y si no hay huecos.
{
x-=5; //se mueve a la derecha.
}
else //de lo contrario
{
if place_free(x-8,y+1) and !place_free(x,y+1) //verifica si hay hueco.
{
vspeed-=12; x-=5; //salta.
}
}
si queres que de saltos mas peque?os cambia la parte del codigo donde dice vspeed-=12 esa es el altura a la que va a saltar
Ya puse el codigo, pero sigue igual, al saltar no avanza hasta tocar el suelo, y cuando el objJugador esta detras no se mueve, ademas que solo salta cuando hay un hueco, cuando se trata de un obstaculo no salta