Software > Coding

GFA-Basic 3.6 mit 2 Screen spielen...usw

<< < (3/5) > >>

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