carlostex escribió:Hay dos cosas que se me hacen raras, en dos de las llamadas a SDL_BlitSurface no le pasas el parámetro de la ubicación donde lo colocará, no se si SDL lo ponga por default en 0,
Si, el default es 0, por eso no lo pongo. Bueno, eso creo, pero diria que si no defino la posicion en donde lo quiero simplemente lo pone en las cordenadas 0.0.
carlostex escribió:y la otra es que si declaras una superficie de 32 bits, tienes que definir colores de 32 bits, así que la segunda forma con la que inicializas la superficie sería la correcta.
Te refieres a esta?
- Código: Seleccionar todo
SDL_Surface * capa2 = SDL_CreateRGBSurface(SDL_HWSURFACE, 1000, 1000, 32, 255, 255, 255, 255);
Por que es incorrecta? 255, 255, 255, 255 es un color mas de los que acepta con 32 bits no?
carlostex escribió:Para que usas las capas? Es decir, por que no usas una sola superficie y vas copiando las cosas haí
Lo de las capas es mas que nada por organizacion, y para no tener que estar actualizando todo todo el rato. En este caso, lo que queria hacer era una mirilla que fuera disparando y marcando cada disparo en la imagen de fondo.
Por tanto tendria 3 capas:
capa1 : imagen de fondo
capa2 : imagenes disparos
capa3 : imagen mirilla
Entonces, si muevo la mirilla, solo tendria que cambiar la capa 3, si disparo, solo tengo que añadir una imagen a la capa 2 y al final de cada loop actualizar la pantalla pasandole las capas por orden. Nose, me parece una manera bastante mas intuitiva que sin usar capas.
lo que puedes hacer son capas virtuales, defines en que capa quieres que se dibuje cada imagen, al copiar todo primero empiezas por lo que tengas en la capa 1 y así te vas con las demás,
Bueno eso es lo que quiero hacer, pero no se como xddddd
gracias por vuestro tiempo
