Type+WritePixelFast = Error !?
Übersicht

![]() |
ToeBBetreff: Type+WritePixelFast = Error !? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zu dem Spiel "FireWorkCreator" ( Ich wollte es schneller machen mit WritePixelFast(x,y,color) stat Plot x,y. Klappt auch soweit, aber wenn es mehr als 2-5 Punkte sind ( Punkte = Explosionen ) dann meint der immer "Illigal Memory Adress" und hängt sich auf. Woran könnte das liegen ?
Code: [AUSKLAPPEN] Type p Field x# Field y# Field ri# Field s# Field dis# Field gr# Field col End Type ;Schleife usw. ... For ra.ra = Each ra :andera Type .... If ra\bomp = True Then StopChannel(ra\ch) PlaySound Explo For i = 10 To Rand(minP,maxP) p.p = New p p\x = ra\x+5 p\y = ra\zy+5 p\col = 255*$1000000 + ra\r*$10000 + ra\g*$100 + ra\b p\ri = Rand(0,359) p\s# = Rnd(0.0,1.0) p\dis = 128 Next Delete ra.ra Delete f.f EndIf Dann die For Schleife mit "p.p" : For p.p = Each p If p.p <> Null LockBuffer BackBuffer() WritePixelFast(p\x,p\y,p\col) UnlockBuffer BackBuffer() p\dis = p\dis - 2 p\x# = p\x# + Sin(p\ri#)*(p\s#) p\y# = p\y# + Cos(p\ri#)*(p\s#)+p\gr# p\gr# = p\gr# + 0.02 If p\dis# < -128 Then Racket = False Delete p.p Bomp = False EndIf Particle = Particle + 1 EndIf Next |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
RallimenSieger des 30-EUR-Wettbewerbs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wahrscheinlich schreibt Writepixelfast ausserhalb des Buffers!
Versuch es mal mit Writepixel, da ist die Überprüfung mit drin |
||
[BB2D | BB3D | BB+]
|
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
hey danke ! Jaetzt gets ! | ||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
2 Dinge:
1. Mach das Lockbuffer vor und nach der Schleife. Wenn du das in der schleife machst wird es 100 bis 10000 mal langsamer als Plot 2. Ich sehe da nirgends einen check der garantiert das p\x und p\y nicht <0 werden können noch das sie grösser als graphicsheight() -1 bzw. graphicswidth() - 1 werden können. Wenn du jedoch versuchst da rein zu zeichnen wirds nen crash geben. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
Silver_KneeBetreff: Fragen und anregungen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zusätzlich:
1. an deinem Code Fehlt ein Next ![]() 2. wo ist denn dein IMA mach mal den debug an... |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei "WritePixelFast" ![]() ~Edit~ Wie mache ich das bei WritePixel(p\x,p\y,p\col) dass die farbe imma dunkler wird, z.b.: 1...2...3...4... usw... |
||
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
p\col verändern.
die Farbe für die WritePixel-Befehle sind EINE Integer-Zahl, die folgender massen aufgebaut ist: Code: [AUSKLAPPEN] col=r*256*256+g*256+b
und man kann diese Formel auch schneller machen, indem man so rechnet: Code: [AUSKLAPPEN] col=r Shl 16 + g Shl 8 + b
Zum Verdunkeln einfach die Werte rgb runtersetzen. Alle Angaben ohne Gewähr! Hab ich grad aus dem Gedächtnis geschrieben. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group