 |
Das deutsche QBasic- und FreeBASIC-Forum Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
|
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
diddus

Anmeldungsdatum: 03.03.2008 Beiträge: 11
|
Verfasst am: 15.04.2008, 18:20 Titel: Hintergrund nicht immer neu zeichnen?? |
|
|
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 |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 15.04.2008, 18:59 Titel: |
|
|
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 |
|
 |
diddus

Anmeldungsdatum: 03.03.2008 Beiträge: 11
|
Verfasst am: 16.04.2008, 11:47 Titel: |
|
|
Das kapier ich irgendwie nich. Was ist pageflipping und ws is ne Bildschirmseite??? |
|
Nach oben |
|
 |
Elektronix
Anmeldungsdatum: 29.06.2006 Beiträge: 742
|
Verfasst am: 16.04.2008, 13:00 Titel: |
|
|
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 |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 16.04.2008, 15:47 Titel: |
|
|
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 |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 23.11.2008, 17:05 Titel: |
|
|
Hi
noch ne Frage zu dem Thema:
kann man auch den Inhalt eines einzelnen "Screens" löschen aber den anderen erhalten? |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 23.11.2008, 17:24 Titel: |
|
|
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 |
|
 |
Sippo

Anmeldungsdatum: 17.04.2008 Beiträge: 125
|
Verfasst am: 23.11.2008, 17:51 Titel: |
|
|
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  |
|
Nach oben |
|
 |
|
|
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.
|
|