[CODE] scrollSuperCam, uno de esos códigos mágicos jeje..

Started by Erkosone, June 19, 2013, 02:04:28 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

panreyes


Copia esto:

program asdf;
global
    x_objetivo;
    y_objetivo;
    pasos;


begin
set_mode(640,480);
set_fps(20, 0);
start_scroll(0, 0, 1, 2, 0, 0);
   
loop
        pasos=7;
x+=((x_objetivo-x)/pasos);
y+=((y_objetivo-y)/pasos);
    scroll.x0=x;
        scroll.y0=y;
        if(key(_space))
        x_objetivo=rand(0,1000);
            y_objetivo=rand(0,1000);
        end
frame;
end
end


Aquí: [size=78%]http://www.divgo.net/index.php[/size]

JaViS

GENIAL!!!!


que bueno uso para el DivGO!


y muy buen ejemplo!
Working on Anarkade. A couch multiplayer 2D shooter.

Erkosone

No es lo mismo pero como ejemplo representativo está bien, el resultado es similar.

Erkosone

Con lo de que es dinámico me refería a algo como esto, se que no tiene nada que ver con la camara del scroll  :P , pero creo que aclara de lo que es capaz la función constraint.
Bueno, sea como sea cada uno que use el sistema que mas le guste, esto solo era un ejemplo de como hacerlo de otra manera un poco mas flexible.
Un saludo ;)


SplinterGU

disculpame erkosone, mi intencion no era tirarle palos a tu funcion.

lo siento, te pido disculpas.
Download Lastest BennuGD Release: http://www.bennugd.org/node/2


warrior_rockk

Temas aparte... pedazo juego de ninjas y pedazo banda sonora!! :D Me encanta. Un poco de offtopic y recomendación totalmente personal: haría la región de la pantalla mas pequeña. COn el tamaño de los sprites, hay mucha zona visible y parece que es escenario esté más vacio de lo que no está. Yo acortaría la zona visible de la pantalla. Avisa cuando esté terminado!!  :D

FreeYourMind

llamadme tonto, inútil o lo que querais pero no he entendido nada del hilo y tampoco he conseguido pillar nada en el video

JaViS

Working on Anarkade. A couch multiplayer 2D shooter.

Erkosone

Quote from: warrior_rockk on June 21, 2013, 05:25:35 PM
Temas aparte... pedazo juego de ninjas y pedazo banda sonora!! :D Me encanta. Un poco de offtopic y recomendación totalmente personal: haría la región de la pantalla mas pequeña. COn el tamaño de los sprites, hay mucha zona visible y parece que es escenario esté más vacio de lo que no está. Yo acortaría la zona visible de la pantalla. Avisa cuando esté terminado!!  :D


Gracias, me alegro que te guste como está quedando el juego, todo gracias al trabajo de PRG con ChipMunk ;)
Sobre la visión del scroll, quizá te sorprenda XD.. pero está a una resolución de 320x240 y para darle el toque retro tiene un gráfico de ese tamaño pintado delante de todo a modo de scanlines como los televisores viejos.


Intentaré bajar la resolución a 256X240 como la NES, haber que tal queda.
Gracias por tu opinión.

Drumpi

Free, lo que hace la función es que altera la velocidad de la cámara de scroll para que siga a un objetivo (en este caso, al prota), de forma que si el prota está corriendo y de pronto se frena, la cámara no se para de golpe, sino que lo hace progresivamente.
Splinter comentaba que dicho efecto se podía hacer usando una variable de la estructura Scroll, que indica la velocidad máxima (lo que pasa es que esa velocidad nunca podría ser menor de 1 pixel por frame).
Incluso Pixel lo ha demostrado usando una versión simplificada (y creo que mucho más rápida) para tener una cámara similar (por cierto, es muy parecido al código que suelo usar yo para movimientos "elásticos").

De esta forma tenemos otra manera de mostrar un elegante scroll.

Yo sólo le veo una pega, y es algo en lo que incluso yo no he caido muchas veces, y es que si el algoritmo hace que la cámara vaya con retraso, el personaje deja de estar en el centro, es más, hay menos zona visible hacia donde va que desde donde viene, cuando en un juego debe ser al revés: la cámara debe ir siempre por delante del protagonista y un poco más alta (lo digo porque en los plataformas que he hecho, la cámara siempre apuntaba a los pies del prota, y siempre se veía más por debajo que por encima).
Se puede solucionar creando otro proceso que se situe por delante de la dirección del prota y que la cámara del scroll lo siga. En el caso del scroll de Bennu se resuelve modificando la posición de la región por la que se puede mover el proceso target sin que se desplace el escenario.

Y por si a alguien le interesa, en mi motor existen las variables "cam_desp_x" y "cam_desp_y" para esto mismo (en el tipo tscroll), desplazar la cámara por delante, detrás, encima o debajo del proceso al que se sigue :D [/SPAM]
Hala, como con 1001 procesos sólo va a 9 FPS, vamos a meterle 32 veces más, a ver si revienta.
(Drumpi epic moment)


logotytye

Erkosone  es muy buena tu función, la bajo y la uso.