User Tag List

Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 20

Tema: Sdl2 wiz?

  1. #1

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,830
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    86
    Agradecer Thanks Received 
    41
    Thanked in
    Agradecido 34 veces en [ARG:2 UNDEFINED] posts

    Sdl2 wiz?

    Existe port de sdl2 para la wiz o la caanoo? Estoy mirando cosillas para intentar hacer alguna cosa en sdl y tela lo tonto que me siento al haberme acomodado con entornos como unity... como puedo rotar un objeto en sdl1.2? Como haría para que una bala vaya en diagonal según el ángulo de nuestro player? Casi todos los ejemplos que encuentro no rotan el player sino pintan los sprites ya girados y casi todos son shooter que disparan las balas en el eje x o y pero no en ángulo... en algún foro he visto que con sdl2 eso fue una de las cosas que mejoraba... pero no veo dicho port para wiz o caanoo...

  2. #2

    Fecha de ingreso
    Sep 2006
    Mensajes
    4,750
    Mencionado
    23 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    638
    Agradecer Thanks Received 
    569
    Thanked in
    Agradecido 423 veces en [ARG:2 UNDEFINED] posts
    La trigonometria es tu amiga.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  3. #3

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,830
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    86
    Agradecer Thanks Received 
    41
    Thanked in
    Agradecido 34 veces en [ARG:2 UNDEFINED] posts
    Sip. Justo lo acabo de ver mientras tomaba sol en la piscina...con el sin() y demás tengo el calculo de diagonales...pero que me dices de girar imágenes en ángulos no rectos? Como se hace en sdl1.2? Por ejemplo pintar una nave 24 grados de giro... como decía, ángulos múltiplos de 90 hay apaños...
    Gracias

  4. #4

    Fecha de ingreso
    Sep 2006
    Mensajes
    4,750
    Mencionado
    23 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    638
    Agradecer Thanks Received 
    569
    Thanked in
    Agradecido 423 veces en [ARG:2 UNDEFINED] posts
    He visto que en la version 2.0 si que hay una función para copiar una textura con una rotacion aplicada. En la 1.2 me parece que vas a tener que hacerlo a mano dibujando pixel a pixel y esto ira un poco lento. ¿Cual es la plataforma destino? Otra opción es que al arrancar calcules todas las rotaciones de todos los sprites así ira igual de rápido que dibujando sprites normales.

    Para rotar un sprite tienes dos opciones:

    1. Recorres de izquierda a derecha y de arriba a abajo el sprite y lo vas dibujando en un buffer. El problema es que puede dejar huecos.
    Algo así en seudocodigo, El punto inicial de dx y dy (las coordenadas destino) hay que calcularlas en función de la rotacion.

    Código:
    vx = vec(cos(angulo), -sin(angulo))
    vy = vec(sin(angulo), cos(angulo))
    dx = 0
    dy = 0
    for y = 0 to alto
    {
        for x = 0 to ancho
        {
            plot dx,dy,color[x, y]
            dx += vx
        }
        dx -= vx*ancho
        dy += vy
    }
    2 Rasterizar un cuadrado rotado y dibujar lo con la textura, vamos como en un motor 3d. Esto es un poco mas complicado pero queda mejor.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  5. #5

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,830
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    86
    Agradecer Thanks Received 
    41
    Thanked in
    Agradecido 34 veces en [ARG:2 UNDEFINED] posts
    La plataforma destino será la wiz. Y sobre todo es por aprender y orgullo ya que realmente desarrollo en unity y ya cuando salió la gp32 me quedé con el gusanillo de programar algo y que no fuera en fénix o bennugd. Por falta de tiempo nunca llegue a meterme con sdl y ahora entrando a ello y con idea de portar un posible juego que estoy haciendo en unity para proyecto de fin de curso me puse a investigar que tendría que cambiar o aprender... los disparos ya está conseguido gracias al uso de trigonometría... pero mis enemigos y mi propio personaje giran sobre si mismos y como decía seria súper cutre hacer tantos sprites como ángulos quisiera pintar...
    Gracias por el código y la ayuda

  6. #6

    Fecha de ingreso
    Sep 2006
    Mensajes
    4,750
    Mencionado
    23 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    638
    Agradecer Thanks Received 
    569
    Thanked in
    Agradecido 423 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Neodreamer Ver mensaje
    La plataforma destino será la wiz. Y sobre todo es por aprender y orgullo ya que realmente desarrollo en unity y ya cuando salió la gp32 me quedé con el gusanillo de programar algo y que no fuera en fénix o bennugd. Por falta de tiempo nunca llegue a meterme con sdl y ahora entrando a ello y con idea de portar un posible juego que estoy haciendo en unity para proyecto de fin de curso me puse a investigar que tendría que cambiar o aprender... los disparos ya está conseguido gracias al uso de trigonometría... pero mis enemigos y mi propio personaje giran sobre si mismos y como decía seria súper cutre hacer tantos sprites como ángulos quisiera pintar...
    Gracias por el código y la ayuda
    Seria cutre hacerlos con un programa de dibujo y tenerlos en un fichero enorme, pero calcularlos al arrancar es de lo mas normal cuando te encuentras con ciertas limitaciones. Ademas piensa que solo necesitarías un cuarto de circulo, las demás se sacan haciendo espejo horizontal y vertical.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  7. #7

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,830
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    86
    Agradecer Thanks Received 
    41
    Thanked in
    Agradecido 34 veces en [ARG:2 UNDEFINED] posts
    Guay, pues teniendo en cuenta que es a la antigüa y las limitaciones propias de la wiz y de la versión de sdl, optare por esto que hemos dicho.
    De todos modos, nadie lo ha comentado asi que entiendo que es que no, pero lo pregunto de nuevo por si acaso. No hay port de sdl2 para wiz o caanoo no? Nadie llegó a sacar ni una versión modificada no nada?
    Gracias

  8. #8

    Fecha de ingreso
    Dec 2011
    Mensajes
    1,333
    Mencionado
    19 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    113
    Agradecer Thanks Received 
    193
    Thanked in
    Agradecido 120 veces en [ARG:2 UNDEFINED] posts
    Aunque contesto con retraso He visto que la versión actual de sdl2 sigue teniendo apoyo al menos para la wiz.

    El código fuente lo tienes aquí https://hg.libsdl.org/SDL

    Necesitaras de sus toolchain arm-openwiz-linux-gnu-gcc mirate el makefile que pone Makefile.wiz https://hg.libsdl.org/SDL/file/f5e7a...d/Makefile.wiz

  9. #9

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,830
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    86
    Agradecer Thanks Received 
    41
    Thanked in
    Agradecido 34 veces en [ARG:2 UNDEFINED] posts
    Que me dices! :O pues a ver si consigo compilarlo o echarlo a andar. Ya digo que aunque curro con c#, web y unity, al ser todo hoy en día tan automático me cuesta un poco el tema makefiles...pero vamos que al menos ya se que si que tiene soporte y que es posible. Mil gracias

  10. #10

    Fecha de ingreso
    Jul 2009
    Mensajes
    8,553
    Mencionado
    57 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    779
    Agradecer Thanks Received 
    398
    Thanked in
    Agradecido 282 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por swapd0 Ver mensaje
    He visto que en la version 2.0 si que hay una función para copiar una textura con una rotacion aplicada. En la 1.2 me parece que vas a tener que hacerlo a mano dibujando pixel a pixel y esto ira un poco lento. ¿Cual es la plataforma destino? Otra opción es que al arrancar calcules todas las rotaciones de todos los sprites así ira igual de rápido que dibujando sprites normales.

    Para rotar un sprite tienes dos opciones:

    1. Recorres de izquierda a derecha y de arriba a abajo el sprite y lo vas dibujando en un buffer. El problema es que puede dejar huecos.
    Algo así en seudocodigo, El punto inicial de dx y dy (las coordenadas destino) hay que calcularlas en función de la rotacion.

    Código:
    vx = vec(cos(angulo), -sin(angulo))
    vy = vec(sin(angulo), cos(angulo))
    dx = 0
    dy = 0
    for y = 0 to alto
    {
        for x = 0 to ancho
        {
            plot dx,dy,color[x, y]
            dx += vx
        }
        dx -= vx*ancho
        dy += vy
    }
    2 Rasterizar un cuadrado rotado y dibujar lo con la textura, vamos como en un motor 3d. Esto es un poco mas complicado pero queda mejor.
    pesima idea, muy lento...

    -----Actualizado-----
    @Neodreamer, busca y mira los fuentes de bennugd... o tambien puedes usar bennugd...
    ...

  11. #11

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,830
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    86
    Agradecer Thanks Received 
    41
    Thanked in
    Agradecido 34 veces en [ARG:2 UNDEFINED] posts
    Gracias Splinter pero no quiero usar ni bennugd ni fenix, creo que lo puse arriba. Quiero forzarme a aprender a hacerlo con sdl. Que puedo compilar sdl2, genial, que soy manco y no lo consigo, tiro de sdl1.2 e intento hacer lo que han dicho los otros compañeros.
    Pero gracias de todos modos

  12. #12

    Fecha de ingreso
    Sep 2006
    Mensajes
    4,750
    Mencionado
    23 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    638
    Agradecer Thanks Received 
    569
    Thanked in
    Agradecido 423 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por SplinterGU Ver mensaje
    pesima idea, muy lento...

    -----Actualizado-----
    @Neodreamer, busca y mira los fuentes de bennugd... o tambien puedes usar bennugd...
    Pues solo hay una tercera forma de hacer una rotación (por software) que es desplazar cada linea en horizontal según la rotación y después hacer lo mismo en vertical. Si usas el hardware (OpenGL) es lo mismo que el segundo caso pero ira mas rápido. Pero si usas sdl 1.2 te tienes que aguantar y hacer la rotación dibujando pixel a pixel.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  13. #13

    Fecha de ingreso
    Jul 2009
    Mensajes
    8,553
    Mencionado
    57 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    779
    Agradecer Thanks Received 
    398
    Thanked in
    Agradecido 282 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Neodreamer Ver mensaje
    Gracias Splinter pero no quiero usar ni bennugd ni fenix, creo que lo puse arriba. Quiero forzarme a aprender a hacerlo con sdl. Que puedo compilar sdl2, genial, que soy manco y no lo consigo, tiro de sdl1.2 e intento hacer lo que han dicho los otros compañeros.
    Pero gracias de todos modos
    de nada, los fuentes lo decia por las rutinas de rotacion y escalado... con sdl1.2, todo lo que hay es lento, en fenix/bennugd lo tienes, y es en extremo rapido...

    Cita Iniciado por swapd0 Ver mensaje
    Pues solo hay una tercera forma de hacer una rotación (por software) que es desplazar cada linea en horizontal según la rotación y después hacer lo mismo en vertical. Si usas el hardware (OpenGL) es lo mismo que el segundo caso pero ira mas rápido. Pero si usas sdl 1.2 te tienes que aguantar y hacer la rotación dibujando pixel a pixel.
    para que sea rapido, es un poco mas complejo que eso...
    ...

  14. #14

    Fecha de ingreso
    Sep 2006
    Mensajes
    4,750
    Mencionado
    23 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    638
    Agradecer Thanks Received 
    569
    Thanked in
    Agradecido 423 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por SplinterGU Ver mensaje
    de nada, los fuentes lo decia por las rutinas de rotacion y escalado... con sdl1.2, todo lo que hay es lento, en fenix/bennugd lo tienes, y es en extremo rapido...



    para que sea rapido, es un poco mas complejo que eso...
    explicate.

    Si lo haces por software lo tienes que hacer pixel a pixel, y aunque uses punteros el algoritmo es el mismo aunque te ahorras las llamadas a dibujar pixel.
    No es lo mismo tener diez años de experiencia, que tener un año de experiencia diez veces.

  15. #15

    Fecha de ingreso
    Sep 2004
    Ubicación
    Santa Cruz de TENERIFE
    Mensajes
    1,830
    Mencionado
    9 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    86
    Agradecer Thanks Received 
    41
    Thanked in
    Agradecido 34 veces en [ARG:2 UNDEFINED] posts
    Oye que si los que controlais, os marcais el puntazo de compilar las sdl2 que indicaban arriba para meterlas en el sdk de wiz y así mejorar un poquito la wiz, yo soy el primero que os lo agradecería...si hay que hacer donativo o patreon se hace

Página 1 de 2 12 ÚltimoÚltimo

Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •