Software > Coding
GFA-Basic 3.6 mit 2 Screen spielen...usw
mfro:
Das Umschalten zwischen zwei Bildschirmen ist nicht unbedingt "unsaubere Programmierung". Schließlich kriegt man das ganz und gar mit hochoffiziell dokumentierten XBIOS-Betriebssystemroutinen (Setscreen()) hin.
Das läuft auch in allen Auflösungen, wenn man sauber mit den passenden Grafikroutinen arbeitet. Siehe PD (Debugger von Pure-C), der verwaltet je einen eigenen Schirm für den Debugger und das zu debuggende Programm und läuft auch auf Grafikkarten (zumindest in der letzten Version).
1ST1:
--- Zitat von: peter hold am Di 08.09.2015, 15:41:45 ---Wo gibt es bitte die Routine :
--- Ende Zitat ---
Habe mal aufr meiner Platte gesucht, finde sie aber nicht.
guest3744:
Pageflip habe ich gefunden in GFA-Basic.
Es ist schon sehr schnell, wie die Page wechseln.
Ist aber noch nicht was ich suche.
--- Code: ---' GFA BASIC Page-flipping Demonstration
' DIMension string array to hold screen images
Dim Screen$(1)
' Draw first screen
Cls
Circle 100, 110, 100
Deffill 1, 2, 9
Fill 100, 100
For J = 1 To 5
Print
Next J
Print Tab(4);"This is page one"
' Save image in Screen$(0)
Sget Screen$(0)
' Draw second screen
Cls
Print
Print Tab(4);"This is page two."
Box 5, 5, 300, 40
Deffill 1, 2, 16
Fill 100, 100
' Save image in Screen$(1)
Sget Screen$(1)
' Flip screens 50 times
For J = 1 To 50
Flip
Next J
' Flip at your leisure
X = 1
While X
Flip
Waitkey
If Key$ = Chr$(27) Then
X = 0
Endif
Wend
Edit
'
Procedure Flip
' Exchange these variables
Swap Screen$(0), Screen$(1)
' Display Screen$(0)
Sput Screen$(0)
Return
'
Procedure Waitkey
Key$ = ""
While Key$ = ""
Key$ = Inkey$
Wend
Return
--- Ende Code ---
laufkopf:
--- Zitat ---'
orig%=XBIOS(2)
'
DIM s1|(32512)
DIM s2|(32512)
bild1%=V:s1|(0)+255 AND &HFFFFFF00
bild2%=V:s2|(0)+255 AND &HFFFFFF00
'
beschl&=3
geschw&=2
fahrt&=beschl&
x&=2
'
WHILE x&<620
VSYNC
~XBIOS(5,L:bild1%,L:bild2%,-1)
'
DEFFILL 0,1,1
PBOX x&-(2*geschw&),20,x&-(2*geschw&)+22,40
'
DEFFILL 1,1,1
PBOX x&,20,x&+20,40
x&=x&+geschw&
'
VSYNC
~XBIOS(5,L:bild2%,L:bild1%,-1)
'
DEFFILL 0,1,1
PBOX x&-(2*geschw&),20,x&-(2*geschw&)+22,40
'
DEFFILL 1,1,1
PBOX x&,20,x&+20,40
x&=x&+geschw&
'
DEC fahrt&
IF fahrt&=0
INC geschw&
fahrt&=beschl&
ENDIF
WEND
PAUSE 100
'
~XBIOS(5,L:orig%,L:orig%,-1)
'
EDIT
--- Ende Zitat ---
guest3744:
Hallo, guten Tag.
Danke für dein Demo mit dem 2 Screen..
Das läuft ja wirklich schnell im Interpreter und ist ohne flimmern
Wenn ich es Kompiliere, dann ist das Rechteck kaum zu sehen. Wo muss da jetzt bitte Vsync gesetzt werden ? Oder wo muss bitte etwas geändert werden , damit das Rechteck zu sehen ist, wenn die Geschwindigkeit so bleiben soll ?
Danke.
Gruss
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln