Lustiges Phänomen mit -DisplayTransparentSprite-
Verfasst: 08.02.2006 19:26
Habe ein Prog geschrieben, welches mir aus einer Configdatei die dort angegeben Bilder und Positionen darstellt.
Beim 1. Bild funktioniert noch das wegfiltern von "Schweinchenrosa". Beim 2. wird die Farbe schwarz nicht mehr dargestellt aber dafür ist der Bildrand in rosa sichtbar.
An den Bildern liegt es nicht , da ich schon die Reihenfolge in der Config-Datei umgekehrt habe.
Hier mal mein Code. Vielleicht weiss der Eine oder andere Rat.
Der Code ist nach unten hin gekürzt, also die Schleifen usw. sind richtig.
Beim 1. Bild funktioniert noch das wegfiltern von "Schweinchenrosa". Beim 2. wird die Farbe schwarz nicht mehr dargestellt aber dafür ist der Bildrand in rosa sichtbar.
An den Bildern liegt es nicht , da ich schon die Reihenfolge in der Config-Datei umgekehrt habe.
Hier mal mein Code. Vielleicht weiss der Eine oder andere Rat.
Der Code ist nach unten hin gekürzt, also die Schleifen usw. sind richtig.
Code: Alles auswählen
Repeat ; Eine Schleife wird gestartet...
FlipBuffers()
TransparentSpriteColor(0,255,0,255) ; Hintergrundfarbe "Rosa" ausblenden
; Hintergrund einblenden
DisplaySprite(99,0,0)
;--Sprites darstellen--
; Setzte Index für Array auf 0
arrayindex = 0
Repeat
;TransparentSpriteColor(0,255,0,255) ; Hintergrundfarbe "Rosa" ausblenden
bildstring.s = element(arrayindex)\Bildposi
bildx.w = Val( Mid(bildstring,1,(FindString(bildstring, ",", 1) - 1)))
bildy.w = Val( Mid(bildstring,(FindString(bildstring, ",", 1) +1),100 ))
DisplayTransparentSprite(arrayindex,bildx,bildy)
;-- Zeiger, Texte.. darstellen---
StartDrawing(ScreenOutput())
DrawingMode(1) ; transparenter Text
FrontColor(0,160,0)
textstring.s = element(arrayindex)\Textposi
textx.w = Val( Mid(textstring,1,(FindString(textstring, ",", 1) - 1)))
texty.w = Val( Mid(textstring,(FindString(textstring, ",", 1) +1),100 ))
Locate (textx,texty)
DrawText(element(arrayindex)\Text + Str(arrayindex))
zeigerstring.s = element(arrayindex)\Zeigerposi
zeigerx.w = Val( Mid(zeigerstring,1,(FindString(zeigerstring, ",", 1) - 1)))
zeigery.w = Val( Mid(zeigerstring,(FindString(zeigerstring, ",", 1) +1),100 ))
zeigergrad.f = element(arrayindex)\Zeigerwinkel
Zeigerrad.w = element(arrayindex)\Zeigerradius
LineXY(zeigerx,zeigery,zeigerx+GSin(- zeigergrad)*Zeigerrad,zeigery+GCos(- zeigergrad)*Zeigerrad,$0000FF)
zeigermalen(zeigerx,zeigery,zeigergrad,Zeigerrad)
StopDrawing()
arrayindex + 1 ; Index für Array um 1 erhöhen
Until arrayindex > elementezahl ; wiederhole für alle Einträge im Array