Füllfunktion (wie Farbeimer bei Paint)

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

Phoenix2301

Betreff: Füllfunktion (wie Farbeimer bei Paint)

BeitragSa, Mai 21, 2005 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Gibt es bei BMax eine Füllfunktion wie der Farbeimer bei Paint? Wenn nicht, wie kann ich soetwas programmieren, ohne die Framerate zusehr zu dürcken?

Mfg Phoenix

Vertex

BeitragSo, Mai 22, 2005 0:50
Antworten mit Zitat
Benutzer-Profile anzeigen
http://www.stcarchiv.de/stm92/11_ttpaint.php3
vertex.dreamfall.at | GitHub

DivineDominion

BeitragSo, Mai 22, 2005 9:41
Antworten mit Zitat
Benutzer-Profile anzeigen
Im Codearchiv gibt es von mir Zeichenfunktionen (Gouraud-Shading).

Code: [AUSKLAPPEN]
Function fillRowByRow( x:Int, y:Int )
   
   Local lg:Int, rg:Int
   
   Local hilf:TPoint
   
   Local px = x
   
   While Not isPixelSet( x, y )
       
      hilf = TPoint.create( x, y )
      set_pixel( hilf )
      x :- 1
       
   Wend
   
   lg = x + 1
   
   x = px + 1
   
   While Not isPixelSet( x, y )
       
      hilf = TPoint.create( x, y )
      set_pixel( hilf )
      x :+ 1
       
   Wend
   
   rg = x - 1
   
   For Local pos:Int = rg To lg Step -1
       
      If Not isPixelSet( pos, y - 1 ) Then fillRowByRow( pos, y - 1 )
       
      If Not isPixelSet( pos, y + 1 ) Then fillRowByRow( pos, y + 1 )
             
   Next
   
EndFunction


Musst bloßgleich den Pixel malen in der Schleife; TPoint war eine Klasse für Pixel auf dem Schirm; isPixelSet() prüfte dann auf einen TPoint an den angegebenen Koordinaten.
christian.tietze@gmail.com - https://christiantietze.de
macOS
 

Phoenix2301

BeitragSo, Mai 22, 2005 20:01
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke euch, hat sehr geholfen *wieder etwas schlauer ist* Wink
Geld allein macht nicht Glücklich... Aber die Dinge die man dafür kaufen kann Wink

Die Nase ist das einzige, aus dem man noch was herausholen kann,
ohne daß das Finanzamt gleich die Hand aufhält.

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group