JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=c59bfffbd4708049ae9dcb4b88e21a76Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Scrolling

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
mundschmiss
Mini JLI'ler



Anmeldedatum: 09.10.2003
Beiträge: 10

Medaillen: Keine

BeitragVerfasst am: 27.10.2003, 18:57    Titel: Scrolling Antworten mit Zitat

Hallo!

Ich möchte einen RIESEN Hintergrund in alle Richtungen scrollen.
Dazu möchte ich die Methode aus dem JLI2 Buch von Christian verwenden(also mittels LockRect die neuen Spalten bzw. Zeilen reinkopieren).
(Ist doch -glaub ich- die schnellste Methode, falls der ganze Scroll-Bereich nicht in den Video-Mem passt, oder?)

Also habe ich vier Methoden geschrieben
ScrollLeft(int speed) ... ScrollDown(int speed) wobei das speed für die Anzahl der Pixel steht, um die gescrollt werden soll.

In diesen Methoden werden mit LockRect die neuen Spalten in meinen Surface(in Vidmem) m_lpBufferLR (für Links-Rechts)
bzw. Zeilen in m_lpBufferOU (für Oben-Unten) kopiert.

Soweit so gut, einzeln funktioniert alles super, nur weiß ich nicht so recht wie ich das ganze kombinieren und in den BackBuffer zaubern soll.
Alle bisherigen Versuche hatten irgendwelche fiesen Nebenwirkungen...

Das Problem ist, dass die Methoden ScrollLeft...Down in beliebiger Reihenfolge aufgerufen werden können(also ScrollLeft - ScrollDown;
ScrollDown-ScrollLeft; nur ScrollDown; ...)jeweils aber nur einmal pro Schleifendurchgang.

Sorry, ist schwer zu erklären hoffe ihr habt es irgendwie verstanden...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
The Lord of Programming
Living Legend


Alter: 37
Anmeldedatum: 14.03.2003
Beiträge: 3122

Medaillen: Keine

BeitragVerfasst am: 27.10.2003, 20:55    Titel: Antworten mit Zitat

Ich würde einfach zwei Scrollkoordinaten anlegen. Mit den Funktionen veränderst du dann diese:
Code:
void ScrollLeft(int Speed)
{
    scrollx-=Speed;
}

Das kannst du dann so oft du willst durchführen. Bei jedem Frame wird dann in der Renderfunktion das entsprechende Rect(von scrollx/scrolly bis scrollx+Bildschirmbreite/scrolly+Bildschirmhöhe) geblittet.
_________________
www.visualgamesentertainment.net
Current projects: RDTDC(1), JLI-Vor-Projekt, Tetris(-Tutorial), JLI-Format
(1) Realtime Developer Testing and Debugging Console


Anschlag, Anleitung zum Atombombenbau, Sprengkörper...
Hilf Schäuble! Damit er auch was findet...
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> DirectX, OpenGL Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum