Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Hintergrund nicht immer neu zeichnen??

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
diddus



Anmeldungsdatum: 03.03.2008
Beiträge: 11

BeitragVerfasst am: 15.04.2008, 18:20    Titel: Hintergrund nicht immer neu zeichnen?? Antworten mit Zitat

Ich brauch für Spiele öfters einen Hintergrund und einen Vordergrung beim zeichnen.
Es nervt mich, dass ich dann den Hintergrund immer in Einzelteile zerlegen muss um den Vordergrund, wenn er sich bewegt dann wieder zu übermalen lässt sich der Hintergrund irgendwie fest zeichnen damit er beim löschen des Vordergrundes erhalten bleibt???

Ich Hoffe ihr habt die Frage verstanden.


Diddus
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 15.04.2008, 18:59    Titel: Antworten mit Zitat

Du kannst den Hintergrund auf eine andere Bildschirmseite kopieren und dann immer wieder von dort laden. Dazu benutzt man pageflipping oder kopiert eine bildschirmseite in die andere. Schaue dazu unter dem Stichwort ScreenCopy in der Referenz nach.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
diddus



Anmeldungsdatum: 03.03.2008
Beiträge: 11

BeitragVerfasst am: 16.04.2008, 11:47    Titel: Antworten mit Zitat

Das kapier ich irgendwie nich. Was ist pageflipping und ws is ne Bildschirmseite???
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Elektronix



Anmeldungsdatum: 29.06.2006
Beiträge: 742

BeitragVerfasst am: 16.04.2008, 13:00    Titel: Antworten mit Zitat

Das heißt, daß Du in bestimmten Screens den Bildschirminhalt im Speicher in einen speziellen Puffer zwischenlagern kannst, um ihn bei Bedarf wieder zurückzuholen.
_________________
Und die Grundgebihr is aa scho drin- DOS is jo nett.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
volta



Anmeldungsdatum: 04.05.2005
Beiträge: 1876
Wohnort: D59192

BeitragVerfasst am: 16.04.2008, 15:47    Titel: Antworten mit Zitat

Hi,
hier mal ein Beispiel:
Code:
'SCREEN Modus, Farbtiefe, Zahl_der_Seiten
Screen 15, 32, 2 '2 Seiten einstellen (Seite 0 und 1)
Dim As Integer breite, hoehe, radius
Dim As Single s, m, st
ScreenInfo breite, hoehe
radius = hoehe\2-10

'SCREENSET aktive_Seite, sichtbare_Seite
ScreenSet 0,1
'zeichne Ziffernblatt auf Seite 0
Circle (breite\2, hoehe\2),radius,RGB(100,100,0),,,1,F

ScreenSet 1,1 'setze aktive Seite 1
Do
  ScreenLock
  'SCREENCOPY Quellseite, Zielseite
  ScreenCopy 0,1 'kopiere Seite 0 (Ziffernblatt) zu Seite 1

  'Sekundenzeiger zeichnen
  s=3.141593*Val(Right(Time,2))/-30
  Line (breite\2, hoehe\2)-((breite\2)-(sin(s)*radius), (hoehe\2)-(cos(s)*radius)),RGB(0,0,255)
  'Minutenzeiger zeichnen
  m = Val(mid(Time,4,2))+(Val(Right(Time,2))/60)
  m *= (3.141593/-30)
  Line (breite\2, hoehe\2)-((breite\2)-(sin(m)*radius*.9), (hoehe\2)-(cos(m)*radius*.9)),RGB(255,0,0)
  'Stundenzeiger zeichnen
  st = Val(left(Time,2)) + (Val(mid(Time,4,2))/60)
  If st > 12 Then st -= 12
  st *= (3.141593/-6)
  Line (breite\2, hoehe\2)-((breite\2)-(sin(st)*radius*.7), (hoehe\2)-(cos(st)*radius*.7)),RGB(0,255,0)
  Locate 1,1: Print Time

  ScreenUnlock
  ScreenSync
Loop Until InKey=Chr(27)

_________________
Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 23.11.2008, 17:05    Titel: Antworten mit Zitat

Hi
noch ne Frage zu dem Thema:
kann man auch den Inhalt eines einzelnen "Screens" löschen aber den anderen erhalten?
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 23.11.2008, 17:24    Titel: Antworten mit Zitat

O_o wenn du CLS benutzt, wird immer nur der aktuelle arbeitsscreen gelöscht.
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Sippo



Anmeldungsdatum: 17.04.2008
Beiträge: 125

BeitragVerfasst am: 23.11.2008, 17:51    Titel: Antworten mit Zitat

stimmt, aber dann lag das problem beim anzeigen:
ich habe 2 Screens erstellt und dann den ersten veränert und danach den zweiten, allerdings wurde nur einer angezeigt, wie kann ich das ändern?

edit: achso, stimmt screencopy mit dem Kopf durch die Mauer wollen
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
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.

 Impressum :: Datenschutz