Writepixelfast und Grafiken

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

Justus

Betreff: Writepixelfast und Grafiken

BeitragFr, Jul 29, 2005 14:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich habe mir das Beispiel zu WritePixelFast aus der Online Hilfe 1:1 kopiert und ausgeführt. Das Beispiel zeigt übrigens einen bewegten Sternenhimmel.
Das funktioniert auch komplett.

Doch wenn ich zusätzlich zum Sternenhimmel ein Bild einzeichne, wird das immer mehr mit hellen Pixeln verdeckt.

Zur Veranschaulichung meines Problems hier ein Screenshot

http://megaupload.de/gallery.p...xbx538.png

Wie lässt sich das Problem lösen?
  • Zuletzt bearbeitet von Justus am Fr, Jul 29, 2005 17:22, insgesamt 5-mal bearbeitet

d-bug

BeitragFr, Jul 29, 2005 16:53
Antworten mit Zitat
Benutzer-Profile anzeigen
zeig mal bitte die stelle deines codes, wo du ql:writepixelfast benutzt, oder ist es 1:1 der code aus dem beispiel ? Denn dann hast du was überlesen Smile... Ich schätze aber mal so grob, daß du mit ql:writepixelfast außerhalb des Bildschirmes pixel schreibst. dann passieren schonmal solche phenomene. Du solltest auf jeden Fall dafür Sorgen, daß ql:WritePixelFast nicht außerhalb des Bildschirmes zeichnet !!! Bei manchen gibt es sonst einen MAV (MemoryAccessViolation) bei anderen gibts wirren Pixelkrams (bei mir z.B.)

Alfadur

BeitragFr, Jul 29, 2005 16:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ich glaub keiner hier hat nen plan was du eigentlich vorhast ....
A Cray is the only computer that runs an endless loop in less than four hours.

d-bug

BeitragFr, Jul 29, 2005 17:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Oh herre, wenn ich keinen Code sehen darf, um zu sehen was du evtl. falsch machst kann ich dir nicht wirklich helfen !!! Ich denke das wollte auch Alfadur dir, in seiner unvergleichlich charmanten Weise, mitteilen !Wink

Justus

BeitragFr, Jul 29, 2005 17:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hoffe ich habe mein Problem jetzt eindeutig geschildert.

Dazu mein Code:

BlitzBasic: [AUSKLAPPEN]
Graphics 1024,768
SetBuffer BackBuffer()

;ARRAY FÜR DEN STERNENHIMMEL
Dim X(499), Y#(499), V#(499)
For i=0 To 499
X (i)=Rnd(0,1023)
Y#(i)=Rnd(0,785)
V#(i)=Rnd(1,5)
Next

spieler = LoadImage(\"gfx\ships\1.bmp\")

Repeat
Cls

;Ein dynamischer Sternenhimmel
;Entnommen aus der OnlineHilfe
LockBuffer BackBuffer()
For i=0 To 499
Y#(i)=Y#(i)+V#(i)
If Y#(i)>785 Then
X(i)=Rand(0,1023)
Y#(i)=Y#(i)-767
V#(i)=Rnd(1,5)
EndIf
Grau=Int(v#(i))*50
Farbe=Grau*$10000+Grau*$100+Grau
WritePixelFast x(i),y#(i),Farbe,BackBuffer()
Next
UnlockBuffer BackBuffer()

DrawImage spieler,0,0

Flip
Until KeyHit(1)

d-bug

BeitragFr, Jul 29, 2005 17:35
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
   For i=0 To 499
Y#(i)=Y#(i)+V#(i)
If Y#(i)>785 Then
X(i)=Rand(0,1023)
Y#(i)=Y#(i)-767
V#(i)=Rnd(1,5)
EndIf
Grau=Int(v#(i))*50
Farbe=Grau*$10000+Grau*$100+Grau
WritePixelFast x(i),y#(i),Farbe,BackBuffer()
Next


Y wir eindeutig größer als die Bildschirmhöhe !!!
BlitzBasic: [AUSKLAPPEN]
If Y#(i)>785 Then


Es reicht wenn du BlitzBasic: [AUSKLAPPEN]
If Y#(i)> 767 Then
angibst.

Dies könnte das Problem beheben, wobei ich es bei mir mal wieder nicht sehen konnt Wink

greetz

Justus

BeitragFr, Jul 29, 2005 17:40
Antworten mit Zitat
Benutzer-Profile anzeigen
AHHHHH!

Verfickt! Das war nur eine Scheißverwechselung.

Sry, aber das musste raus.

Nur weil ich überall die 6 und die 8 velwechsert hab! Very Happy

*KOPFGEGENDIEWANDHAU* *VONDERBRÜCKESTÜRZ*

AAHHHHHHHHHHHHH!

Schlaflose Nächte wegen n paar Tippfehlern....

Ich glaub ich lass mich lebendig begraben.

d-bug

BeitragFr, Jul 29, 2005 17:47
Antworten mit Zitat
Benutzer-Profile anzeigen
wenn du öfters mit ql:writepixelfast gearbeitet hast wirst du sehen, daß es besser ist sich die Auflösung in Variablen zu speichern Wink, das minimiert die Fehlerquote beträchtlich Smile . Wenigstens bei mir.

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group