Imágenes con coordenadas negativas en SDL

Buenas, estoy usando las librerías SDL para C++ y tengo un problema bastante gordo, y es que no me deja dibujar imágenes más allá del límite de la pantalla, osea, con coordenadas negativas. He usado PyGame y esto es posible, ya que lo que quiero es que un fondo vaya apareciendo desde el lateral izquierdo, y se vaya desplazando hacia la derecha, pero en cuanto al rectángulo de la imagen le pongo una coordenada negativa, SDL la cambia a 0 automáticamente, y no puedo hacer el efecto como si la imagen "entrara" a la pantalla desde la izquierda.
Gracias por vuestra ayuda, saludos :)
No se porque te pasa eso ya que SDL las utilice hace mucho y para nada serio (aunque no recuerdo este tipo de problemas...), pero no creo que sea muy complicado solventarlo dibujando solamente el rectángulo del fondo que se ve en pantalla, es decir, dibujas siempre un rectángulo en [0,0] que crece según la imagen va entrando en pantalla y calculas que parte de la imagen es la que debes obtener.
Yo tampoco he tenido problemas de ese tipo con SDL/C++. Es raro lo que comentas. ¿Estás seguro que te lo hace sólo?
Se puede conseguir un efecto similar usando el segundo parametro de la función SDL_BlitSurface, en el cual puedes crear un rectángulo dentro de la imagen a mostrar.

Si la imagen es de, por ejemplo, 8x10 píxeles, se puede hacer un for que vaya reduciendo el inicio del rectángulo mientras mantienes el punto, con el cuarto parámetro de la función, el lugar donde se dibuja la imagen.
3 respuestas