Nicht gefüllte Box
Nicht gefüllte Box
und wieder einmal eine vllt dumme frage aber wie kann man ne ungefüllte box erstellen?!
mfgMAX
mfgMAX
- Vermilion
- Beiträge: 1846
- Registriert: 08.04.2006 16:00
- Computerausstattung: Apple iMac (2010) & HP Notebook
- Wohnort: Heidekreis
Du benutzt einfach einen anderen Zeichenmodus, nämlich den, wo nur die Außenlinien gezeichnet werden.
Mehr dazu in der Hilfe. 
Code: Alles auswählen
StartDrawing(Output)
DrawingMode(#PB_2DDrawing_Outlined)
Box(10, 10, 20, 20, $FFFFFF)
StopDrawing()

Ich hab dann noch eine zusätzliche Frage dazu:
Gibt es eine (einfache) Möglichkeit die Dicke der Linien bei eben der Box
oder einer Linie selbst einzustellen?
...Würde mir sehr helfen dass endlich mal rauszubekommen!
Gibt es eine (einfache) Möglichkeit die Dicke der Linien bei eben der Box
oder einer Linie selbst einzustellen?
...Würde mir sehr helfen dass endlich mal rauszubekommen!
"Menschenskinder, das Niveau dieses Forums singt schon wieder!" — GronkhLP ||| "ich hogffe ihr könnt den fehle endecken" — Marvin133 ||| "Ideoten gibts ..." — computerfreak ||| "Jup, danke. Gruss" — funkheld
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Glaub mir, das habe ich auch schon sehr oft vermisst.
Du kannst bei dicken Rahmen einen gefüllten Außenkreis zeichnen und einen gefüllten Innenkreis. Bei Boxen genauso.
Linien musste wohl als Rahmen zeichnen und dann Füllen oder die Linien in einer Schleife zeichnen. Dafür kannst dir aber eigene Prozeduren schaffen.
Gab da mal ein paar Grafik-Bibliotheken.
http://www.purearea.net/pb/german/index.htm
User-Libs und da E2D, X2D ... da war so etwas drin, soweit ich mich erinnern kann.
Gibt aber noch andere. Einfach mal durchschauen.

Du kannst bei dicken Rahmen einen gefüllten Außenkreis zeichnen und einen gefüllten Innenkreis. Bei Boxen genauso.
Linien musste wohl als Rahmen zeichnen und dann Füllen oder die Linien in einer Schleife zeichnen. Dafür kannst dir aber eigene Prozeduren schaffen.
Gab da mal ein paar Grafik-Bibliotheken.
http://www.purearea.net/pb/german/index.htm
User-Libs und da E2D, X2D ... da war so etwas drin, soweit ich mich erinnern kann.
Gibt aber noch andere. Einfach mal durchschauen.

Kinder an die Macht http://scratch.mit.edu/
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
dafür braucht man doch keine extra-funktionen...
du zeichnest erst ne gefüllte box, und dann ne nicht gefüllte in ner anderen farbe drüber.
sowas zum bleistift:
du zeichnest erst ne gefüllte box, und dann ne nicht gefüllte in ner anderen farbe drüber.
sowas zum bleistift:
Code: Alles auswählen
EnableExplicit
InitSprite()
InitMouse()
InitKeyboard()
OpenScreen(800,600,32,"Buttons")
Global MPX.l, MPY.l, MLC.l
Procedure DrawButton( BX.l, BY.l, BW.l, BH.l, TOX.l, TOY.l, TXT.s )
Static ColFrame1.l ; oberer Frame
Static ColFrame2.l ; unterer Frame
Static ColButton.l ; Hintergrund
If MPX > BX And MPX < BX+BW And MPY > BY And MPY < BY+BH
If MLC
; Farben für Button gedrückt
ColFrame1 = $404000
ColFrame2 = $808000
ColButton = $606000
Else
; Farben für Mouseover Button
ColFrame1 = $FFFF00
ColFrame2 = $808000
ColButton = $C0C000
EndIf
Else
; Farben für Button normal
ColFrame1 = $C0C000
ColFrame2 = $606000
ColButton = $909000
EndIf
DrawingMode(#PB_2DDrawing_Transparent) ; gefüllte Box, transparenter Texthintergrund
Box( BX, BY, BW, BH, ColButton )
DrawText( BX+TOX, BY+TOY, TXT, ColFrame1 )
DrawingMode(#PB_2DDrawing_Outlined) ; Box-Rahmen
Box( BX, BY, BW+1, BH+1, ColFrame2 )
Box( BX-1, BY-1, BW+1, BH+1, ColFrame1 )
EndProcedure
Procedure DrawMouse( MX.l, MY.l )
Protected n.l
FrontColor( $80FFFF )
For n=0 To 3
Line( mx+n, my+n, 32, 16 )
Line( mx+n, my+n, 16, 32 )
Next
EndProcedure
Repeat
ExamineMouse()
ExamineKeyboard()
MPX = MouseX()
MPY = MouseY()
MLC = MouseButton(#PB_MouseButton_Left)
ClearScreen( $402010 )
StartDrawing(ScreenOutput())
DrawButton( 300, 100, 200, 40, 74, 12, "Button 1" )
DrawButton( 300, 200, 200, 40, 74, 12, "Button 2" )
DrawButton( 300, 300, 200, 40, 74, 12, "Button 3" )
DrawButton( 300, 400, 200, 40, 74, 12, "Button 4" )
DrawMouse( MPX, MPY )
StopDrawing()
FlipBuffers()
Until KeyboardPushed(#PB_Key_Escape)
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
was meinst du mit Ladezeit.... geladen wird da nix.
gehts dir um performance?
dann nimm von vorne herein sprites.
außerdem kann man die viel schicker gestalten, als mit Draw zurechtgestoppeltes....
und selbst wenn...
man kann zu beginn des programms auch mit Draw-Funktionen sprites erzeugen.
da kann man dann etwas aufwendigere sachen machen, hat aber nachher in
der hauptschleife fertige sprites und muss nicht dauernd wieder drawen.
gehts dir um performance?
dann nimm von vorne herein sprites.
außerdem kann man die viel schicker gestalten, als mit Draw zurechtgestoppeltes....
und selbst wenn...
man kann zu beginn des programms auch mit Draw-Funktionen sprites erzeugen.
da kann man dann etwas aufwendigere sachen machen, hat aber nachher in
der hauptschleife fertige sprites und muss nicht dauernd wieder drawen.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.