Views

Übersicht BlitzBasic Codearchiv

Neue Antwort erstellen

Kryan

Betreff: Views

BeitragMo, März 08, 2004 20:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]
Type view
 Field x
 Field y
 Field width
 Field height
 Field originon
End Type

Graphics 640,480
Dim views(10,10)
For X=1 To 10
 For Y=1 To 10
  views(X,Y)=CreateView(X*64-64,Y*48-48,64,48)
 Next
Next
x=1
y=1
ShowView(1)
r=255
g=255
b=255
Repeat
 Color r,g,b
 Rect 0,0,640,480
 If KeyHit(203) Then x=x-1:ShowView(views(x,y)):r=r+25:g=g+15
 If KeyHit(205) Then x=x+1:ShowView(views(x,y)):r=r-25:g=g-15
 If KeyHit(200) Then y=y-1:ShowView(views(x,y)):b=b+20
 If KeyHit(208) Then y=y+1:ShowView(views(x,y)):b=b-20
 Flip
Until KeyHit(1)
End

Function CreateView(x,y,width,height,originon=1)
 obj.view=New view
 obj\x=x
 obj\y=y
 obj\width=width
 obj\height=height
 obj\originon=originon
 Return Handle(obj)
End Function

Function ShowView(id)
 If id=0 Then
  Viewport 0,0,GraphicsWidth(),GraphicsHeight()
 Else
  obj.view=Object.view(id)
  Viewport obj\x,obj\y,obj\width,obj\height
  If obj\originon=1 Then Origin obj\x,obj\y
 EndIf
End Function

Function DeleteView(id)
 obj.view=Object.view(id)
 Delete obj
 ShowView(0)
End Function

Function DeleteEachView()
 Delete Each view
 ShowView(0)
End Function

Function SaveView(id,bild$)
 obj.view=Object.view(id)
 If Int(bild$)=0 Then
  bildint=Int(bild$)
  zwischenspeicher=CreateImage(obj\width,obj\height)
  CopyRect obj\x,obj\y,obj\width,obj\height,0,0,BackBuffer(),ImageBuffer(zwischenspeicher)
  SaveBuffer ImageBuffer(zwischenspeicher),bildint
 Else
  zwischenspeicher=CreateImage(obj\width,obj\height)
  CopyRect obj\x,obj\y,obj\width,obj\height,0,0,BackBuffer(),ImageBuffer(zwischenspeicher)
  SaveBuffer ImageBuffer(zwischenspeicher),bild$
 EndIf
End Function

Function ScaleView(id,x,y)
 obj.view=Object.view(id)
 obj\width=obj\width*x
 obj\height=obj\height*y
End Function

Function ResizeView(id,x,y)
 obj.view=Object.view(id)
 obj\width=x
 obj\height=y
End Function


Das Beispiel ist nicht so gut! Jedoch verdeutlicht das, das nirgendswo, außer im akuellen Fenster gezeichnet wird. selbst cls bringt da nix Smile
Webspaceanbieter?
Klick hier!
Kultige Spieleschmiede?
Klick hier!

Neue Antwort erstellen


Übersicht BlitzBasic Codearchiv

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group