Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
psygate
Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
|
Verfasst am: 07.05.2005, 15:36 Titel: Bildschirmseiten skippen |
|
|
Also... Ich ahb mir ja jetzt einige Tutorials runtergeladen, die von Bildschirmseiten, flimmerfreien grafik suw. handeln, und hab eine recht akzeptable aber langsame lösung gefunden.
Die ist mir aber zu langsam geworden... EJtzt möchte ich gerne mit Bildschirmseiten der SCREEN 13 oder sonstigen.... EJtzt hab ich ABER KEINE AHNUNG, wie ich zwischen den Seiten wechseln kann/sie im hintergrund aufbauen kann.... Kann mir da jemand in einem "verständlichen" Deutsch eine erklärung geben?? Büdde...[/quote] |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 07.05.2005, 16:37 Titel: |
|
|
Screen 11 12 und 13 können nicht Flippen.. geht nur mit 8 oder 9 zB -> www.qbasic.de -> tutorials -> suchen  _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Jan

Anmeldungsdatum: 04.01.2005 Beiträge: 74
|
Verfasst am: 07.05.2005, 18:31 Titel: |
|
|
Einfach die Bildschirm Seite kopieren.
Code: |
SCREEN 7, ,0,1
x = 10
y = 30
DO
LINE (x,y)-(x,y+20)
PCOPY 0,1
CLS
x=x+1
'Abbruchbedingung noch
LOOP UNTIL INKEY$ <>""
|
|
|
Nach oben |
|
 |
psygate
Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
|
Verfasst am: 07.05.2005, 18:59 Titel: ??? |
|
|
Das check ich immer noch ned....... Wenn ich jetzt line.... mache, dann erscheint das doch gleich! Ich will doch, dass es nciht erscheint, bis ich die bildschirmseite abgerufen wird.... und nciht vorher speichern... Ich will die gleich im "Hintergrund" zeichnen!
Auch dafür eine lösung parat??  |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 07.05.2005, 20:14 Titel: |
|
|
Da steht, dass alles in die Bildschrimseite 0 (der vorletzte Paramter) geschrieben werden soll, hingegen wird die Bildschirmseite 1 angezeigt (letzter Parameter). Mit
kopierst du alles von der Bildschirmseite 0 in die Bildschrimseite 1 (welche angezeigt wird). Also wird erst hier die Line angezeigt.
Zuletzt bearbeitet von ChemicalWarfare am 07.05.2005, 20:43, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jan

Anmeldungsdatum: 04.01.2005 Beiträge: 74
|
Verfasst am: 07.05.2005, 20:25 Titel: |
|
|
genau,
darum geht das,
der erste Parameter beim Screen Befehl, nach der Moduswahl und dem Farbattribut is der Hintergrund, darauf folgt der Vordergrund.
Code: |
SCREEN modus, farbattribut, hintergrund, vordergrund
|
Es wird immer im Hintergrund gezeichnet. Der Vordergrund wird immer angezeigt. Daher muss man das Kopieren und so. |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 07.05.2005, 22:39 Titel: |
|
|
Kleine "Verbesserung" von Jans Post:
Normalerweise werden der 3. und 4. Parameter von SCREEN aktive und Sichtbare Seite genannt.
Die aktive Seite ist die, auf die gezeichnet wird, die sichtbare wird angezeigt. Aktive und sichtbare Seite können die selbe sein, müssen es aber nicht.
Beispiel:
Code: |
SCREEN 9, , 0, 0 'Auf Seite 0 zeichnen, und sofort anzeigen
'... Gfx-Anweisungen
SCREEN , , 1, 0
'Screen 9 wird beibehalten. sichtbare Seite bleibt 0, gezeichnet wird auf 1.
'... Gfx-Anweisungen
PCOPY 1, 0 'Von Seite 1 auf Seite 0 kopieren. 0 wird dabei überschrieben.
|
Wenn du trotzdem bei QB bleiben willst, würde ich dir eher Screen9 empfehlen, der hat die höhere Auflösung (640x350). Wenn du aber mehr Geschwindigkeit brauchst, wirst du wohl den Screen7 (320x200) benutzen müssen. Screen8 ist mit 640x200 ein mittelding.
Alle haben eine Farbtiefe von 4bpp, also 16 Farben.
(Da kann freeBASIC wieder Punkten: Es ist alles da von 1bpp bis 24bpp)
Für normale Animationen wirst du nur 2 Seiten brauchen, deswegen sind die 8 bzw 4 Seiten von Screen7+8 eher überflüssig.
Auch das ist wieder ein Grund, auf freeBASIC umzusteigen. In FB hast du in jedem Screenmodus die Möglichkeit, mehrere Seiten zu verwenden. Und zwar so viele, wie du willst - die einzige Grenze ist die Größe deines RAMs. Und so viele Bildschirmseiten wirst du wohl kaum hernehmen
Die Syntax ist dort praktisch dieselbe, nur das Wechseln der Seite geht dort nichtmehr via SCREEN, sondern via SCREENSET oder FLIP.
(Siehe auch die Befehlsreferenz. Da sollten ein paar gute Beispiele dabei sein.)
In FB schreibst du also statt SCREEN , , 0, 1 einfach FLIP 0, 1
Have a nice day
Ciao _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet.
Zuletzt bearbeitet von Dusky_Joe am 09.05.2005, 16:37, insgesamt einmal bearbeitet |
|
Nach oben |
|
 |
Jan

Anmeldungsdatum: 04.01.2005 Beiträge: 74
|
Verfasst am: 08.05.2005, 11:16 Titel: |
|
|
Bei deinem PCOPY ist ein kleiner Fehler.
Code: |
PCOPY Quellseite, Zielseite
|
Daher müsste es heißen:
Code: |
SCREEN 9, ,1,0
'Malen
PCOPY 1,0 'und nicht 0,1
|
|
|
Nach oben |
|
 |
psygate
Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
|
Verfasst am: 08.05.2005, 12:23 Titel: |
|
|
Danke! habtmir wiedermal, wie schon so oft, sehrt geholfen! |
|
Nach oben |
|
 |
Dusky_Joe

Anmeldungsdatum: 07.01.2005 Beiträge: 1007 Wohnort: Regensburg/Oberpfalz
|
Verfasst am: 09.05.2005, 16:37 Titel: |
|
|
Die Fehler bei anderen findet man halt leicher als bei anderen, was
Ich ändere gleich meinen Post um. Danke, dass du mich darauf aufmerksam gemacht hast.
@ Psygate: In der QBMonFAQ dürfte auch der ein oder andere Eintrag zum Thema weiche Animationen/Page Flipping zu finden sein.
Und die E-Book-Abteilung auf qbasic.de kann man auch wie immer SEHR empfehlen  _________________ fully biological degradable
Once, the big wave arrives, you've got two ways, you can go:
Either, you ride it, or you don't do.
But, if you don't ride, you'll never know wether you'd have gone wet. |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 09.05.2005, 19:05 Titel: |
|
|
Dusky_Joe hat Folgendes geschrieben: | Die Fehler bei anderen findet man halt leicher als bei anderen, was  | Wolltest du da irgendwie was anderes schreiben? So ist das mit den eigenen Fehlern eben.. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 09.05.2005, 20:33 Titel: |
|
|
Ein sehr kluger Satz...
Dazu fällt mir grad der Spruch "Nachts ist es kälter als draussen." ein...weiß nicht warum, vllt weil es auch so ein kluger Spruch ist?  |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 10.05.2005, 16:45 Titel: |
|
|
und links ist mehr rechts als unten..
wobei da ist ja was wahres dran ist: Links = -Rechts.. unten ist dazu 90° gedreht, also weiter entfernt.. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
Jan

Anmeldungsdatum: 04.01.2005 Beiträge: 74
|
Verfasst am: 10.05.2005, 19:51 Titel: |
|
|
MisterD hat Folgendes geschrieben: | wobei da ist ja was wahres dran ist: Links = -Rechts.. unten ist dazu 90° gedreht, also weiter entfernt.. |
Kein Kommentar  |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 10.05.2005, 22:05 Titel: |
|
|
Zitat: | und links ist mehr rechts als unten..
wobei da ist ja was wahres dran ist: Links = -Rechts.. unten ist dazu 90° gedreht, also weiter entfernt.. |
Links und rechts sind zwar auf der gleichen Achse, aber rechts ist ja zu links um 180° gedreht, unten hingegen nur um 90°. Außderdem liegt ja unten direkt an links an, rechts hingegen nicht. |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 10.05.2005, 23:25 Titel: |
|
|
also im Nullpunkt liegen alle Richtungen direkt aneinander..
und ich find, das mehr dafür als dagegen spricht, man könnte da auch mit dem Skalarprodukt kommen und sonst noch was xD
Rechne mal den Vektor (1/0/0) einmal nach (-1/0/0) um und einmal nach (0/1/0), und das, ohne addition zu verwenden. das wird relativ schwer beim zweiten xD _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
ChemicalWarfare

Anmeldungsdatum: 15.09.2004 Beiträge: 152
|
Verfasst am: 11.05.2005, 14:07 Titel: |
|
|
Ja schon, aber du kannst (0, 0, 1)x(1, 0, 0) nehmen und meines Wissens ist es nicht möglich, mit dem cross product einen linear abhängigen Vektor zu berechnen. Also Patt  |
|
Nach oben |
|
 |
psygate
Anmeldungsdatum: 05.04.2005 Beiträge: 304 Wohnort: Wien und der Computer
|
Verfasst am: 11.05.2005, 14:59 Titel: |
|
|
kann mir mal jemand sagen, wie ich ein feld, mit 14000000 stellen deklariere, ohne einen überlauf zu erzeugen?? |
|
Nach oben |
|
 |
Jan

Anmeldungsdatum: 04.01.2005 Beiträge: 74
|
Verfasst am: 11.05.2005, 15:35 Titel: |
|
|
was willst denn damit anstellen?  |
|
Nach oben |
|
 |
volta
Anmeldungsdatum: 04.05.2005 Beiträge: 1876 Wohnort: D59192
|
Verfasst am: 11.05.2005, 15:47 Titel: ein feld, mit 14000000 stellen deklariere |
|
|
Hallo psygate,
in FreeBasic kein Problem !
siehe ...http://forum.qbasic.at/viewtopic.php?p=9165#9165
Gruß
Volta _________________ Warnung an Choleriker:
Dieser Beitrag kann Spuren von Ironie & Sarkasmus enthalten.
Zu Risiken & Nebenwirkungen fragen Sie Ihren Therapeuten oder Psychiater. |
|
Nach oben |
|
 |
|