Screenshot/führenden Nullen/Kollisionspunktermittlung von ???
Hier ein paar Funktionen aus [url=http://www.blitzforum.de/viewtopic.php?t=2008]"Vollgas!"[/url]. Vielleicht ist ja was für den ein oder anderen dabei...

[code:1:18a4859911]
;Fuegt in einen Dateinamen vor dem Punkt eine Nummer ein
;GenFile$ = Dateiname
;PicCount = Nummer
;RETURN = neuer Dateiname
Function CalcFileName$(GenFile$,PicCount)
Local pre$,pos$

pre$ = Left (Genfile$,Instr (GenFile$,".")-1)
pos$ = Right (Genfile$,Len (GenFile$)-Instr (GenFile$,".")+1)
Return pre$ + PicCount + pos$

End Function


;Erstellt einen Screenshot im aktuellen Ordner mit laufender Nummerierung
;Alte Screenshots werden nicht ueberschrieben
;RETURN$ = Dateiname des Screenshots
Function ScreenShot$()
Local PicCount%,File$

Repeat
File$ = CalcFileName$("shot.bmp",PicCount%)
PicCount% = PicCount% + 1
Until Not FileType (File$)
SaveBuffer FrontBuffer(), File$
Return File$

End Function



;Wandelt einen Integer in einen String mit fuehrenden Nullen um
;Bei Bedarf kann auch ein anderes Zeichen vorangestellt werden
;Num% = Nummer
;Length% = Laenge
;LeftChar$ = optionales, anderes Fuehrungszeichen
;RETURN$ = Wert als String
Function Int2String$(Num%, Length%, LeftChar$ = "0")

Return Replace(RSet$(Str$(Num%), Length%)," ", LeftChar$)

End Function



;Ermittelt eine Kante eines Bildes im Bezug auf die Bildposition
;Image% = Handle des Bildes
;Position% = X- bzw. Y-Position des Bildes
;GreaterValue% = gibt an ob die linke bzw. obere Kante(Wert=0) oder die
; rechte bzw. untere Kante (Wert=1) zurueckgeliefert werden soll
;Vertical% = gibt an ob die horizontale Kante(Wert=0) oder
; vertikale Kante zurueckgeliefert werden soll
;RETURN = X- bzw. Y-Wert der Kante
Function CalcEdge(Image%,Position%,GreaterValue%,Vertical%)

If GreaterValue% Then GreaterValue% = 1
If vertical% Then
Return Position% + ImageHeight(Image%) * GreaterValue% - ImageYHandle(Image%)
Else
Return Position% + ImageWidth(Image%) * GreaterValue% - ImageXHandle(Image%)
EndIf

End Function


;Ermittelt den "Kollisionspunkt" zwischen zwei Bildern
;Es wird nicht geprueft ob die Bilder ueberhaupt kollidieren
;Pos1% = X- bzw. Y-Position des ersten Bildes
;Image1% = Handle des ersten Bildes
;Pos2% = X- bzw. Y-Position des zweiten Bildes
;Image1% = Handle des zweiten Bildes
;Vertical% = gibt an ob die X-Koordinate(Wert=0) oder die Y-Koordinate(Wert=1)
; des Kollisionspunktes zurueckgeliefert werden soll
;RETURN = X- bzw. Y-Wert der Kante
Function CalcCollPos(Pos1%, Image1%, Pos2%, Image2%, Vertical%)

If Pos1% >= Pos2% Then P1_GE_P2% = 1
Return (CalcEdge(Image1%,Pos1%,Not(P1_GE_P2%),Vertical%) + CalcEdge(Image2%,Pos2%,P1_GE_P2%,Vertical%)) / 2

End Function




[/code:1:18a4859911]


[url=http://www.mein-murks.de/quellcode/funktion.bb]und hier noch der Download als BB-File[/url]



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: