PREGUNTA:
Acabo de empezar a hacer una aventura gráfica y no se como hacer que el gráfico del jugador ande hacia donde haces click con el ratón, lo único que he conseguido es que el gráfico aparezca directamente en las coordenadas del ratón. A ver si me puedes ayudar...
RESPUESTA:
Para conseguir esto, deberemos crear dos nuevas variables que llamaremos "x2" e "y2", las crearemos de tipo local, y asi podremos acceder a ellas desde otros puntos. Si solo queremos acceder a ellas desde un solo proceso, las declararemos privadas. Estas variables controlaran, las coordenadas donde debe ir el proceso. Cuando pulsemos el boton del raton, asignaremos las coordenadas del mismo a esta variables. Luego calcularemos el angulo hacia dicho punto, mirando desde el protagonista. Esto lo haremos utilizacion la instruccion angle=fget_angle(x,y,x2,y2); que nos devolvera dicho valor y que en este caso hemos guardado en la variable angle del proceso, y que pondra al proceso mirando al punto donde esta x2 e y2. Si queremos que este no mire, se puede guardar en otra variable como angulo2, de la que luego hablaremos. Por ultimo, si hemos asignado a angle el angulo correcto, con la instruccion advance(4), haremos avanzar al proceso en la direccion indicada por dicha variable. Si por el contrario hemos usado angulo2, la cosa cambia, y deberemos usar dos instrucciones, que son x+=get_distx(angulo2,4); y+=get_disty(angulo2,4); y como en el caso anterior, hacen avanzar al proceso en la direccion indicada por angulo2, en 4 puntos. Si en vez de 4 puntos, queremos movernos en otra cantidad, unicamente hay que cambiar el 4, en todas las instrucciones nombradas. Lo unico que quedaria es saber si ha llegado al punto indicado, algo que ocurria cuando la distancia sea menor que cuatro. Esto lo podriamos hacer con una instruccion del tipo, IF (fget_dist(x,y,x2,y2)<4) // codigo END . Normalmente todo esto se lleva, aparte con otra variable, que llamaremos sisemueve. Esta variable, como su nombre indica, controla en que momento se esta moviendo o no el protagonista, para actuar en consecuencia. Cuando se pulse el boton del raton, pondremos a 1 la variable, cuando este a 1, moveremos el proceso, animandolo si es necesario, y cuando llegue a su destino, pondremos a 0 la variable. Otro tema tambien es el uso de xgraph, que en este caso estaria ligado a la variable angle del proceso, pero esto, es otra pregunta....
PREGUNTA:
¿¿cómo puedo poner un fondo animado a un juego para por ejemplo, hacer un efecto de lluvia como en el principio del Zelda de Supernes, me he leido todo el manual ya unas 100 veces y no aparece nada sobre ese tema ¿Se puede hacer en esta versión del DIV o no?? Espero que me respondas lo antes posible please.
RESPUESTA:
Depende de si el fondo se mueve, con efecto scroll, o no. En el primer caso, unicamente debemos hacer put_screen(, o poner un proceso con una "z" bastante alta, y con un grafico animado. Si se debe introducir dentro de un scroll, aparte de crear el scroll usando para ello la funcion start_scroll, tambien debemos animar dicho grafico, para ello asignaremos a dicho scroll un grafico vacio, e iremos pegando los graficos de la animacion en el del scroll, usando la funcion map_put(). Para ver mas informacion sobre los parametros de las funciones remito a la ayuda del DIV. Por ultimo, decir que cualquier de los dos metodos, y si se quiere usar un efecto como la lluvia, lo podemos crear mediante programacion, poniendo y quitando puntos, pero este metodo es bastante complicado, y unicamente bueno en casos de extrema necesisdad. Aparte se podria programar algo en este estilo como una DLL, creando de primer plano, como la lluvia, la nieve, un campo de estrellas, algo parecido no lo podemos encontrar en los ejemplos del uso de libreria tipo salvapantallas y que vienen con DIV.
This page hosted by Get your own Free Home Page