0 Punkte?
Übersicht

![]() |
juseBetreff: 0 Punkte? |
![]() Antworten mit Zitat ![]() |
---|---|---|
wieso steht hier am ende 0 punkte bei jedem obwohl das bild 'back' komplett die rgb werte: 255,0,0 hat?
p1 und p2 sind global hier mal der code: Code: [AUSKLAPPEN] If time=100
SetBuffer FrontBuffer() Color 128,128,128 Rect 20,20,600,440 Color 255,255,255 Text 60,160,"Zähle alle Punkte..." SetBuffer ImageBuffer(back) For y=0 To 479 For x=0 To 639 LockBuffer rgb=ReadPixelFast(x,y) And $FFFFFF r=(rgb And $FF0000)/$10000 g=(rgb And $FF00)/$100 b=rgb And $FF If r=255 Then p1=p1+3 If b=255 Then p2=p2+3 UnlockBuffer Next Next SetBuffer FrontBuffer() Cls Color 128,128,128 DrawBlock back,0,0 Rect 20,20,600,440 Color 255,255,255 Text 40,120,"Punkte von Spieler 1: "+p1 Text 40,220,"Punkte von Spieler 2: "+p2 FlushKeys WaitKey End EndIf |
||
![]() |
Hagbard |
![]() Antworten mit Zitat ![]() |
---|---|---|
Offensichtlich hast du bei deinem Code das Bild nicht richtig erstellt. In meiner Version siehst du, wie es funktionieren kann. Schau dir mal die einzelnen Bereiche an und vergleiche mit deinen.
Ein paar Kommentare würden dir auch ganz gut tun, ![]() Code: [AUSKLAPPEN] Graphics 800, 600, 16, 2
; BILD WIRD GEZEICHNET bild = CreateImage (100, 100) SetBuffer ImageBuffer(bild) Color 128,128,128 Rect 10, 10, 100, 100 ; BEISPIEL 1 Rect 50, 50, 1, 1 ; Hier wird nur ein Pixel gezeichnet, du kannst die Länge des Rechtseckes aber auch variieren ; BEISPIEL 2 ;For I = 1 To 4 ;Rect 10 + Rnd(0, 99), 10 + Rnd(0, 99), 1, 1 ; Hier werden testweise vier Punkte in das Bild gezeichnet ;Next SetBuffer FrontBuffer() Text 60,160,"Bild ist erstellt... Drücke eine Taste, um alle Pixel zu erstellen" WaitKey() ; BILD WIRD AUF WEIßE PIXEL UNTERSUCHT SetBuffer ImageBuffer(bild) For y=0 To 99 For x=0 To 99 LockBuffer rgb=ReadPixelFast(x,y) And $FFFFFF r=(rgb And $FF0000)/$10000 g=(rgb And $FF00)/$100 b=rgb And $FF If r=255 Then p1=p1+3 If b=255 Then p2=p2+3 UnlockBuffer Next Next ; DAS ERGEBNIS DER UNTERSUCHUNG WIRD HIER ANGEZEIGT SetBuffer FrontBuffer() Cls SetBuffer FrontBuffer() DrawImage bild, 340, 180 Color 255,255,255 Text 40,120,"Punkte von Spieler 1: " + p1 Text 40,220,"Punkte von Spieler 2: " + p2 FlushKeys WaitKey End |
||
![]() |
juse |
![]() Antworten mit Zitat ![]() |
---|---|---|
nein, ich hab den fehler gefunden!
ich habe die farbtiefe auf 16 bit gestellt, sie muss aber auf 32 bit gestellt werden. aber danke für die hilfe |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group