Scrolling und grosse Bilder


Scrolling und grosse Bilder

von sdleidel » So 11. Jun 2006, 21:45
Hi,
ich brauche mal ein paar Tip´s, den Bildschirm scrollen ist ja eigentlich kein Problem, aber wie bekomme ich z.B. 2 Bilder Hoch und 2 Bilder breit in den Computer um die dann zu scrollen ???
4 farbig Textbilder, fine scrolling... Beispiele wären auch toll...
Sollte mit Basic gehen und scrolleing in 8 Richtungen eventuell in ASM..

Gruss
Sascha

Re: Scrolling und grosse Bilder

von cas » Mo 12. Jun 2006, 08:07
sdleidel hat geschrieben:Hi,
ich brauche mal ein paar Tip´s, den Bildschirm scrollen ist ja eigentlich kein Problem, aber wie bekomme ich z.B. 2 Bilder Hoch und 2 Bilder breit in den Computer um die dann zu scrollen ???
4 farbig Textbilder, fine scrolling... Beispiele wären auch toll...
Sollte mit Basic gehen und scrolleing in 8 Richtungen eventuell in ASM..

Gruss
Sascha


Ein Graphics 8 oder 15 Bild ist 7680 Bytes gross (40 Bytes pro Zeile # 192 Zeilen). Zwei Bilder hoch und breit sind dann 4 * 7680 = 30720 Bytes. Wenn Du Dir "?Free(0)" nach dem Start von BASIC anschaust, wirst Du feststellen das Du dann nur noch Platz für ein sehr kleines Basic Programm hast.

Alternativen: Bild packen (komprimieren) oder in die Ramdisk legen

Beispiele zum Scrolling gibt es im DeRe Atari, Atari Profibuch und anderen Büchern. Aber nicht genau mit 4 Bildern, wie Du es vorhast.

Das generelle Vorgehen ist:

* Speicher für das Bild reservieren (normaler Speicher oder erweiterter Speicher/Ramdisk)
* Bild laden
* Displaylist mit Scrolling in jeder Zeile erstellen und aktivieren

Da Du vermeiden must, bei jedem Scrolling das gesamte Bild (30 KB) durch den Speicher zu schieben, musst Du trickreich programmieren, und am besten immer nur den sichtbaren Ausschnitt kopieren und in den Bildschirmspeicher schreiben.

Ciao

Carsten

von sdleidel » Mo 12. Jun 2006, 18:54
Hi genau so meinet ich das ... Kein Graphik Bildschirm sondern umdefinierte Zeichensatz-Grafik...
Ein Beispiel mit 2 Bildschirme übereinander zum nach oben und unten scrollen
und ein Beispiel mit 2 Bildschirmen um nach rechts und links scrollen

Das war vieleicht schlecht ausgedrückt...


Sascha

von FlorianD » Di 13. Jun 2006, 21:58
lege die bilder im speicher ab: wenn 1 Bild 20 zeichen breit ist, lege je 40 zeichen nacheinander ab. merke dir die anfangadresse dieser zeile, bzw. mach sie leicht berechenbar.
usw für die folgenden 24 (=2*12) Zeilen.

die display list erhält in jeder zeile den befehl zum speicherzeiger laden, u.z. auf die erste zeile, die du zeigen willst plus die erste spalte. d.h. du nimmst pro zeile der display list immer einen ausschnitt aus dem speicher. so sparst komplett du dir das rumschieben von bilddaten (sofern sich auf dem bild nix bewegt oder ändert).

von sdleidel » Di 13. Jun 2006, 23:06
Doch leider ändert sich auch was im Bild...

Sascha

von cas » Mi 14. Jun 2006, 14:00
Hallo Sascha,

ich habe soetwas in ACTION! Programmiert ( für einen Leveleditor für ein Spiel, welches nie fertig wurde (wieder eins :) ).

http://www.strotmann.de/twiki/bin/view/ ... riCatapill

Planst Du etwas in dieser Richtung?

Den Quellcode und den Leveleditor darfst Du gerne benutzen.

Ciao

Carsten