Seite 1 von 1

CreateSprite() und CopySprite() Problem

Verfasst: 15.09.2004 22:00
von Quaxi
Hallo wieder mal.
Also folgendes Problem:

Ich will mithilfe von CreateSprite() ein leeres Feld erstellen. 100x3000 Pixel gross. Schön und gut.
Nur will ich aus mehreren Sprite's ein einziges machen. Sprich, ich habe lauter kleine verschiedene 100x100 Pixel grosse Bilder die ich dann in das eine große kopieren will. Also 30 mal.
Nur wie soll ich das machen?!? Mit CopySprite geht das ja nicht, weil ich da ja nur immer ein Sprite rein kopieren kann ohne irgendwelche Koordinate anzugeben.

Verfasst: 15.09.2004 23:00
von Ynnus
Du könntest den Buffer umstellen, auf das Sprite. Anstelle dann auf den Rückbuffer des Screens direkt anzuzeigen, werden dann alle nachfolgenden Sprite-Darstellungen auf dem Sprite ausgeführt.
Beispiel:

Code: Alles auswählen

createsprite(0, 300, 300)
createsprite(1, 100, 100)
usebuffer(0)
displaysprite(1, 0, 0)
Schon wird sprite 1 nicht auf den Bildschirm, sondern auf dem Sprite 0 angezeigt. Dort bleibt es auch und wird nicht nach einem Frame wieder gelöscht. Also es bleibt dauerhaft ein Abbild auf dem Sprite, bis es übermalt wird oder so...
Per usebuffer(-1) wird die Ausgabe wieder auf den Screen-Buffer gelegt.

Verfasst: 16.09.2004 08:40
von Quaxi
OK, das würde schon funktionieren, aber ich will zuvor noch einen Hintergrund mit dem normalen Backbuffer anzeigen, würde der dann nicht überschrieben?

Verfasst: 16.09.2004 10:17
von NicTheQuick
Wenn aktuelle Buffer nicht der BackBuffer ist, wird da auch nichts übermalt oder gelöscht. Gelöscht wird nur etwas, wenn man [c]ClearScreen()[/c] benutzt oder eine große Box malt.