Zum Selbsteinstellen bzw. Ausstellen
Code: Alles auswählen
InitSprite()
OpenWindow(0,0,0,800,600,"Geometrie",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
OpenWindowedScreen(ContainerGadget(1,50,100,403,403,#PB_Container_Double),0,0,400,400,0,0,0)
CloseGadgetList()
ScrollBarGadget(2, 250,60,200,20,0,400,100)
ScrollBarGadget(3, 470,110,20,200,0,400,100,#PB_ScrollBar_Vertical)
ButtonGadget(4,50,50,150,30,"Transparenz",#PB_Button_Toggle)
;/ Weißer Hintergrund mit KoopdinatenSystem
CreateSprite(0,400,400)
StartDrawing(SpriteOutput(0))
Box(0,0,400,400,RGB(255,255,255))
For i=0 to 19
LineXY(20*i,0,20*i,400,RGB(128,128,128))
LineXY(0,20*i,400,20*i,RGB(128,128,128))
Next
Box(199,0,3,400,0)
Box(0,199,400,3,0)
StopDrawing()
;/
;/ Parabel
CreateSprite(1,400,400)
StartDrawing(SpriteOutput(1))
Box(0,0,400,400,RGB(0,255,0))
For i=0 to 400
; y=x*x
q.f=i/7
a.f=i
Circle(200+a,200-(q)*(q),2,RGB(255,0,0))
Circle(200-a,200-(q)*(q),2,RGB(255,0,0))
Next
StopDrawing()
Repeat
Event=WaitWindowEvent()
If Event=#PB_Event_CloseWindow
Quit=1
EndIf
debug GetGadgetState(4)
If GetGadgetState(4)
TransparentSpriteColor(1,RGB(0,255,0))
else
TransparentSpriteColor(1,0)
EndIf
DisplaySprite(0,0,0)
DisplayTransparentSprite(1,GetGadgetState(2),GetGadgetState(3))
FlipBuffers()
Until Quit=1
Noch einmal erweitert ...
Code: Alles auswählen
Procedure SpriteParabel()
;/ Parabel
CreateSprite(1,400,400)
StartDrawing(SpriteOutput(1))
Box(0,0,400,400,RGB(0,255,0))
For i=0 to 400
; y=x*x
q.f=i/7
a.f=i
Circle(200+a,200-(q)*(q),2,RGB(255,0,0))
Circle(200-a,200-(q)*(q),2,RGB(255,0,0))
Next
StopDrawing()
EndProcedure
InitSprite()
OpenWindow(0,0,0,800,600,"Geometrie",#PB_Window_SystemMenu|#PB_Window_ScreenCentered)
CreateGadgetList(WindowID(0))
OpenWindowedScreen(ContainerGadget(1,50,100,403,403,#PB_Container_Double),0,0,400,400,0,0,0)
CloseGadgetList()
ScrollBarGadget(2, 250,60,200,20,-400,400,0)
ScrollBarGadget(3, 470,110,20,200,-400,400,0,#PB_ScrollBar_Vertical)
ButtonGadget(9,460,70,30,30,"|_")
ButtonGadget(4,50,20,150,30,"Transparenz",#PB_Button_Toggle)
StringGadget(5,50,50,70,30," F A R B E ",#PB_String_ReadOnly)
SetGadgetColor(5,#PB_Gadget_BackColor,RGB(0,255,0))
ButtonGadget(6,120,50,80,30,"Ändern")
ButtonGadget(7,50,80,80,20,"Sprite laden")
ButtonGadget(8,130,80,70,20,"Parabel")
;/ Weißer Hintergrund mit KoopdinatenSystem
CreateSprite(0,400,400)
StartDrawing(SpriteOutput(0))
Box(0,0,400,400,RGB(255,255,255))
For i=0 to 19
LineXY(20*i,0,20*i,400,RGB(128,128,128))
LineXY(0,20*i,400,20*i,RGB(128,128,128))
Next
Box(199,0,3,400,0)
Box(0,199,400,3,0)
StopDrawing()
;/
SpriteParabel()
Repeat
Event=WaitWindowEvent()
If Event=#PB_Event_CloseWindow
Quit=1
EndIf
If Event=#PB_Event_Gadget
GadgetNr=EventGadget()
If GadgetNr=6
SetGadgetColor(5,#PB_Gadget_BackColor,ColorRequester(GetGadgetColor(5,#PB_Gadget_BackColor)))
EndIf
If GadgetNr=7
If Not LoadSprite(1,OpenFileRequester("Parabel-Bild","C:\Parabel.bmp","BMP",0))
SpriteParabel()
EndIf
If IsSprite(1)
SetGadgetAttribute(2, #PB_ScrollBar_Minimum ,-SpriteWidth(1))
SetGadgetAttribute(3, #PB_ScrollBar_Minimum ,-SpriteHeight(1))
EndIf
EndIf
If GadgetNr=8
SpriteParabel()
EndIf
If GadgetNr=9
SetGadgetState(2,0)
SetGadgetState(3,0)
EndIf
EndIf
If GetGadgetState(4)
TransparentSpriteColor(1,GetGadgetColor(5,#PB_Gadget_BackColor))
else
TransparentSpriteColor(1,0)
EndIf
debug GetGadgetState(2)
debug GetGadgetState(3)
DisplaySprite(0,0,0)
DisplayTransparentSprite(1,GetGadgetState(2),GetGadgetState(3))
FlipBuffers()
Until Quit=1
Den Rest musst du nun verstehen und dir hinbasteln
Oder frag einfach, wenn was ist.
Gruß, Folker
