Kollision

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

MCWulf

Betreff: Kollision

BeitragMi, Apr 20, 2005 18:53
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!

Wie kann ich ich prüfen, ob in einem bestimmtem Radius ein andersfarbiger Pixel als Schwarz ist?

BladeRunner

Moderator

BeitragMi, Apr 20, 2005 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
Prüfe alle Pixel von (Xm-Rad,ym-Rad) bis (xm+Rad,Ym+rad) ob ihre Entfernung innerhalb des Kreisradius liegt [sqr((x-xm)²+(y-ym)²) < Rad ].
Wenn dies der fall ist und der Pixel mit readpixel(fast) <> 0 als Farbe hat : Bingo.
Allerdings nicht wirklich echtzeitgeeignet.
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3
Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64
B3D BMax MaxGUI

Stolzer Gewinner des BAC#48, #52 & #92

rambo256

BeitragMi, Apr 20, 2005 19:00
Antworten mit Zitat
Benutzer-Profile anzeigen
So,ist aber nicht unbedingt schnell Wink

BlitzBasic: [AUSKLAPPEN]
LockBuffer BackBuffer()

For x = posx To posx+2*radius
For y = posy To posy+2*radius

If((x-radus)^2+(y-radius)^2) = radius Then

rgb=ReadPixelFast(x,y)
r=(rgb And $FF0000)/$10000
g=(rgb And $FF00)/$100
b=rgb And $FF

If (r+g+b) = 0 Then

....

EndIf

EndIf

Next
Next

UnlockBuffer BackBuffer()


so hab ichs mal gemacht,hoffe ich hab da jetzt keinen Fehler reingehauen Wink
Asus F53z

Das Leben ist eine reine Konkatenation...

MCWulf

BeitragDo, Apr 21, 2005 6:43
Antworten mit Zitat
Benutzer-Profile anzeigen
danke, aber irgendwie funkt das nicht Sad warum? Laughing

rambo256

BeitragDo, Apr 21, 2005 8:16
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
LockBuffer BackBuffer()

For x = posx To posx+2*radius
For y = posy To posy+2*radius

If(Sqr(((x-mittelpunkt_x)-radus)^2+((y-mittelpunkt_y)-radius)^2)) = radius Then

rgb=ReadPixelFast(x,y)
r=(rgb And $FF0000)/$10000
g=(rgb And $FF00)/$100
b=rgb And $FF

If (r+g+b) = 0 Then

....

EndIf

EndIf

Next
Next

UnlockBuffer BackBuffer()



Ich glaub das war der Fehler...
Asus F53z

Das Leben ist eine reine Konkatenation...

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group