User Tag List

Página 2 de 3 PrimerPrimer 123 ÚltimoÚltimo
Resultados 16 al 30 de 31

Tema: ¿Como manejar tiles?

  1. #16

    Fecha de ingreso
    Nov 2001
    Ubicación
    Barcelona
    Mensajes
    10,941
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    6
    Agradecer Thanks Received 
    9
    Thanked in
    Agradecido 5 veces en [ARG:2 UNDEFINED] posts
    Es una asignatura de la UPC de Informatica de Gestión.

    Programación Metódica, una asignatura de esas que no sabes muy bien para que existen ya que nunca vas a usar nada de lo que te explican (excepto, quizás, a usar recursividad...)

    Un saludo
    W.

    PD1: Tú no sabrás nada del tema del hilo Wave?

    PD2: Wave, ¿no tienes una página con tu GPGame de GP32? Es para la sección de links...

  2. #17

    Fecha de ingreso
    Jul 2003
    Ubicación
    Cerca de BCN ...
    Mensajes
    8,466
    Mencionado
    10 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Wild[Kyo]
    XDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD DDDDDDDDDDD
    JAJAJAjajaJAJAjA xD Ostia como me he partido con tu comentario. XD

    No te he comentado que al final me gusto tanto IPRO que saque un 10 (tambien es que era la tercera...) asi que me molo lo de programar. Y PROM...***** he tenido clase hace unas 3 horas y aun estoy flipando... ^^UU
    Es normal lo de quedarse flipado con PROM, realmente estuve muy contento de aprobarla, pero no tanto como con EDA (estructuras de datos y algoritmos)L .

    Wave ... pues creo que me dijo que las habia hecho ... verdad GUAVESITO?

    Vale, dejemos aquí el offtopic que sinó rompemos el tema inicial. Simplemente he encontrado el momento oportuno para soltarte el comentario

    Saludos!

    PD: Caguen la leche, mañana tengo exámen! Qué **** hago aquí posteando? >_<
    "No hay malos alumnos, sino malos profesores" | "Humor = Tragedia + Tiempo" (by Joan Pera)
    (NGP Platinum)(Cy) ¡¡El Mercata AOJtil!!

  3. #18

    Fecha de ingreso
    May 2004
    Ubicación
    Coslada, Madrid
    Mensajes
    13,259
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    12
    Thanked in
    Agradecido 9 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por Eskema
    Yo lo preguntaba mas q nada por si alguien usaba el mappy para ver como lo hacia, lo de usar una tira como bien dices puck esta chupao Mi unica preocupacion era ver si alguien tenia una forma de cargar mapas de tiles hechos con el mappy, pq yo lo hago a mano.
    Tío, especifica lo del mappy desde el principio, please, así nos ahorramos el perder tiempo explicando algo que ya sabes

  4. #19

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Razon tienes puck, mea culpa estaba yo tan liado el domingo con la funcion y hablando con el trafuga q me olvide poner el post q usaba el mappy

  5. #20

    Fecha de ingreso
    Jun 2004
    Ubicación
    Granada
    Mensajes
    673
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post

    Post

    Eskema le hechare un ojo a la lib de mappy seguro que a mas gente le vendra bien

    ¿Hay mappy para linux?

    Un Saludo ^^_
    Weblog sobre mis proyectos de linux, gp2x, emulación, desarrollo, abandonware...
    http://david.dantoine.org/


  6. #21

    Fecha de ingreso
    May 2004
    Ubicación
    Coslada, Madrid
    Mensajes
    13,259
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    12
    Thanked in
    Agradecido 9 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por D_Skywalk
    ¿Hay mappy para linux?
    Sí, a raiz de las dudas de Eskema estuve buscando y encontré una versión en SDL con binarios para Linux

  7. #22

    Fecha de ingreso
    Jun 2004
    Ubicación
    Granada
    Mensajes
    673
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post

    Arrow

    Esta? http://membres.lycos.fr/edorul/SDLMappye.htm

    Acabo de compilarla para Debian/ubuntu si alguien la necesita que avise y la adjunto

    Un Saludo, ahora vendria bien pasar ese SDL_Mappy a C ^^_
    Pd: Adjuntado :_D
    Archivos adjuntados Archivos adjuntados
    Weblog sobre mis proyectos de linux, gp2x, emulación, desarrollo, abandonware...
    http://david.dantoine.org/


  8. #23

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Exactamente, skywalk, esa misma libreria, y desde luego si se pudiera pues mejorar el soporte para 8bits pq dice q los mapas a 8bits van muy lentos. Pero bueno si se porta a c, podemos usar los mapas hechos con mappy y aprovecharnos de los tiles animados, varias capas para hacer scrolles multiples y mas cositas q trae el mappy.

  9. #24

    Fecha de ingreso
    Nov 2001
    Ubicación
    Barcelona
    Mensajes
    10,941
    Mencionado
    3 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    6
    Agradecer Thanks Received 
    9
    Thanked in
    Agradecido 5 veces en [ARG:2 UNDEFINED] posts
    Pues si creais una libreria estaría genial, Eskema ya sabe como me tengo que pelear con los mapas del Mappy...que por más vueltas que le doy no me salen... :'(

  10. #25

    Fecha de ingreso
    Jun 2004
    Ubicación
    Granada
    Mensajes
    673
    Mencionado
    0 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    1
    Thanked in
    Agradecido 1 vez en 1 post

    Exclamation

    Lo unico que me moskea es eso de que haya que compilar con threads... me da muy mal roio y ademas que segun chui eso no tiraba en el port de GP32 :?

    Un Saludo
    Weblog sobre mis proyectos de linux, gp2x, emulación, desarrollo, abandonware...
    http://david.dantoine.org/


  11. #26

    Fecha de ingreso
    May 2004
    Ubicación
    Coslada, Madrid
    Mensajes
    13,259
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    12
    Thanked in
    Agradecido 9 veces en [ARG:2 UNDEFINED] posts
    Entradas de blog
    6
    Cita Iniciado por D_Skywalk
    Lo unico que me moskea es eso de que haya que compilar con threads... me da muy mal roio y ademas que segun chui eso no tiraba en el port de GP32 :?

    Un Saludo
    Sí, yo también creo que dijo que no funcionaban los hilos...

  12. #27

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Estaba probando de cambiar la forma en q cargo los mapas con el mappy y no lo consigo, a ver si algun alma caritativa me dice pq no se ven todos los tiles (solo se ve 1)

    Primero pasamos el mapa a .h

    int mapa_ancho = 20;
    int mapa_alto = 15;
    int resident_map[15][20] {array mapa}


    y luego intento dibujar el mapa pero no consigo q lo dibuje bien
    tiles es un struct donde guardo la imagen, y otros datos tipo colision,etc.


    void RenderizaMapa(Tiles *obj, SDL_Surface *salida)
    {
    for(i=0; i<mapa_alto; i++){
    for(j=0; j<mapa_ancho; j++){
    if(resident_map[i][j]==1) {obj[0].imagen;}
    if(resident_map[i][j]==2) {obj[1].imagen;}
    tile=resident_map[i][j];

    x=j*TILESIZE;
    y=i*TILESIZE;
    obj->x=x;
    obj->y=y;


    SDL_Rect dest;
    if (obj)
    {
    dest.x = obj->x;
    dest.y = obj->y;


    SDL_BlitSurface(obj[tile%2].imagen, NULL, salida, &dest);
    }
    }
    }
    }

    Estoy mas perdio..............

  13. #28

    Fecha de ingreso
    Nov 2003
    Ubicación
    Andorra
    Mensajes
    661
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Cita Iniciado por Eskema
    Estoy mas perdio..............
    Pues yo también!!
    No entiendo muy bien lo que estás haciendo.
    Si pudieras indicar como está definida la estructura Tiles, sería más fácil.

    De todas formas, ¿Tiles.imagen es una función? Es que por lo visto intentas ejecutar el código que se encuentra en la dirección indicada por imagen ({obj[0].imagen;}).

    Luego con if (obj), estás controlando que obj no esté a NULL, lo que significa que podría estarlo en cuyo caso las instrucciones obj->x=x; obj->y=y; daran error.

  14. #29

    Fecha de ingreso
    Jun 2004
    Ubicación
    Valencia
    Mensajes
    2,122
    Mencionado
    33 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    11
    Agradecer Thanks Received 
    102
    Thanked in
    Agradecido 57 veces en [ARG:2 UNDEFINED] posts
    Marchando una de struct tiles

    typedef struct Tiles
    {
    int x, y;
    int ancho, alto;
    int colision;
    int offsetx, offsety;
    SDL_Surface * imagen;
    SDL_Surface * tmp;
    int xColision, yColision, altoColision,anchoColision;
    }Tiles;

    Esta es la estructura q uso para ir almacenando los tiles, luego declaro un Tiles tTiles[2]; pq tengo 2 tiles solamente (ya se q tengo espacio perdido por el 0)
    luego cargo los tiles en el main,
    CargarTile(&tTiles[0], &tTiles[0], &tile1, 2102);
    CargarTile(&tTiles[1], &tTiles[1], &tile8, 1830);
    &tile1 apunta al fichero .h donde esta la imagen convertida a un array unsigned char.

    donde cargar tile es una funcion tal q asi

    void CargarTile(Tiles *imagen, Tiles *tmp,unsigned char *, int);


    Ahora llega el quid de la cuestion oankali, cuando hago el:
    if(resident_map[i][j]==1) {obj[0].imagen;}
    lo q trato es de asignar los 1 del array mapa al tile[0].imagen, de manera q sepa q los 1 son el tile[0], el 2 es el tile[1],etc.

    Y con esto lo unico q consigo es q solo dibuje 1 tile sin importarle el otro en vez de elegir el tile correspondiente con [tile%2]

  15. #30

    Fecha de ingreso
    Nov 2003
    Ubicación
    Andorra
    Mensajes
    661
    Mencionado
    2 Post(s)
    Tagged
    0 Tema(s)
    Agradecer Thanks Given 
    0
    Agradecer Thanks Received 
    0
    Thanked in
    Agradecido 0 veces en [ARG:2 UNDEFINED] posts
    Sigo sin entender muy bien ya que me parece que mezclas la inicialización de tu mapa de tiles con la 'rederización'.

    A ver si te sirve esto:

    Código:
    int mapa_ancho = 20;
    int mapa_alto = 15;
    int resident_map[15][20] {array mapa};
    Tiles miMapa[15][20];
    
    
    
    
    void InitMapa(Tiles *map, int *mappyMap)
    {
      Tiles *mapTile;
      int tile;
    
      for(i=0; i<mapa_alto; i++)
        for(j=0; j<mapa_ancho; j++)
        {
          // De mappy a C
          tile = mappyMap[i * mapa_ancho + j] - 1;
          
          // Recuperamos la direccion del tile en el mapa
          mapTile = &map[i * mapa_ancho + j];
          
          // Inicializamos los miembros del tile
          mapTile->imagen = tTiles[tile].imagen;
          mapTile->x = i * TILESIZE;
          mapTile->y = j * TILESIZE;
        }
    }
    
    void RenderizaMapa(Tiles *map, SDL_Surface *salida)
    {
      SDL_Rect dest;
      Tiles *mapTile;
    
      for(i=0; i<mapa_alto; i++){
        for(j=0; j<mapa_ancho; j++){
          mapTile = &map[i * mapa_ancho + j];
    
          dest.x = mapTile->x;
          dest.y = mapTile->y;
          
          SDL_BlitSurface(mapTile->imagen, NULL, salida, &dest);
        }
      }
    }
    
    
    
    // Solo una vez
    InitMapa(miMapa, resident_map);
    
    // A cada frame
    RenderizarMapa(miMapa, salida);
    Puede que haya algun error en el cálculo i * mapa_ancho + j y que haya que invertir ancho por alto o i por j.
    Por cierto, cambia el nombre de tu estructura Tiles por Tile, ya que presta a confusión ya que en ella solo hay un tile a la vez.

Página 2 de 3 PrimerPrimer 123 Ú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
  •