WritePixel funktioniert bei mir nicht
Übersicht

mevosBetreff: WritePixel funktioniert bei mir nicht |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
ich versteh es gerade irgendwie kein stück... wieso zeichnet er kein Pixel? Code: [AUSKLAPPEN] Graphics3D 640,480 SetBuffer BackBuffer() While Not KeyHit(1) rgb=Rnd(0,255)*$10000 + Rnd(0,255)*$100 + Rnd(0,255) If KeyHit(2) SaveBuffer FrontBuffer(), "screenshot.bmp" EndIf If KeyHit(3) SaveBuffer BackBuffer(), "screenshot2.bmp" EndIf UpdateWorld RenderWorld If KeyHit(57) WritePixel prX#, prY#, rgb ,BackBuffer EndIf If KeyHit(48) WritePixel prX#, prY#, rgb ,FrontBuffer EndIf Flip Wend End Hab jetzt nicht den ganzen code gepostet. Die Position an der der Pixel gezeichnet werden soll ist "prX#" und "prY#". |
||
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
weil prx# und pry# entweder 0 oder ausserhalb des sichtbaren bereiches sind
l8er, psy |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Vor allem fehlen da die Klammern von BackBuffer() und FrontBuffer()
Ohne die Klammern steht da 0 -> passiert nix. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
bei setbuffer backbuffer () sind die klammern zwingend notwendig, bei writepixel anscheinend nicht...hab ich aber eben auch erst gemerkt, dass das ohne funzt ![]() aber prinzipell sollte mans IMMER mit klammern schreiben, dann ist man immer auf der sicheren seite l8er, psy |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aha? Macht nicht sonderlich viel Sinn, denn FrontBuffer ohne Klammern ist eine Variable die 0 ist.
Auf der anderen Seite kommts eh nicht draufan. Du wirst mit tendenz eh nie was sehen, da du mit sicherheit mindestens 60x die sekunde flipst, womit der alte backbuffer zum frontbuffer wird und ein neuer Backbuffer kommt (nein es ist nicht so das der FrontBuffer zum Backbuffer wird - doch selbst wenn: der Backbuffer wird immer wieder gelöscht durch renderworld) |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora hat Folgendes geschrieben: Aha? Macht nicht sonderlich viel Sinn, denn FrontBuffer ohne Klammern ist eine Variable die 0 ist.
Auf der anderen Seite kommts eh nicht draufan. Du wirst mit tendenz eh nie was sehen, da du mit sicherheit mindestens 60x die sekunde flipst, womit der alte backbuffer zum frontbuffer wird und ein neuer Backbuffer kommt (nein es ist nicht so das der FrontBuffer zum Backbuffer wird - doch selbst wenn: der Backbuffer wird immer wieder gelöscht durch renderworld) ich glaube du hast mich falsch verstanden. ich sagte: - bei dem befehl setbuffer backbuffer () sind die klammern zwingend notwendig -WritePixel x, y, rgb ,BackBuffer funktioniert auch ohne klammern, man sollte aber prinzipiell immer () dazuschreiben, dann ist man auf der sicheren seite... siehe mein voriges post ![]() l8er, psy |
||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: WritePixel x, y, rgb ,BackBuffer funktioniert auch ohne klammern,
Tut es nicht, lediglich WritePixel verwendet den aktuell gesetzten Buffer da FrontBuffer ohne Klammern, wie schon gesagt, nur eine Variable ist. Verhält sich auch bei jeder anderen Function so ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hubsi hat Folgendes geschrieben: Tut es nicht, lediglich WritePixel verwendet den aktuell gesetzten Buffer da FrontBuffer ohne Klammern, wie schon gesagt, nur eine Variable ist. Verhält sich auch bei jeder anderen Function so ![]() mh.... Code: [AUSKLAPPEN] Graphics 640,480 ;SetBuffer FrontBuffer() While Not KeyHit(1) rgb=Rnd(0,255)*$10000 + Rnd(0,255)*$100 + Rnd(0,255) WritePixel Rand(640),rand(480),rgb ,BackBuffer Flip Wend End funktioniert, genauso wie Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer FrontBuffer() While Not KeyHit(1) rgb=Rnd(0,255)*$10000 + Rnd(0,255)*$100 + Rnd(0,255) WritePixel Rand(640),rand(480),rgb ,BackBuffer Flip Wend End im ersten beispiel ist gar kein buffer vorher definiert, im zweiten explizit frontbuffer...trotzdem funktionieren beide beispiele. oder reden wir aneinander vorbei? ![]() l8er, psy |
||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja tut ihr. Denn wenn kein Buffer definiert ist, ist der aktive Buffer per Default der FrontBuffer. | ||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja es ging ja eigentlich darum, dass WritePixel funktioniert ohne () nach backbuffer...und das tuts ja, egal ob am anfang nix, setbuffer backbuffer() oder setbuffer frontbuffer() steht... | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wenn du das glaubst, wünschen wir dir viel Spass dabei.
Aber frag dich dann einfach nicht, warum etwas nicht geht. Blitz Funktionen geben nur einen Wert zurück, wenn die () dran sind. BackBuffer() -> gibt etwas zurück BackBuffer ist zwar auch gültig, gibt aber nichts zurück -> 0 -> default buffer wird genutzt. |
||
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen. |
![]() |
PSY |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dreamora hat Folgendes geschrieben: Wenn du das glaubst, wünschen wir dir viel Spass dabei.
Aber frag dich dann einfach nicht, warum etwas nicht geht. Blitz Funktionen geben nur einen Wert zurück, wenn die () dran sind. BackBuffer() -> gibt etwas zurück BackBuffer ist zwar auch gültig, gibt aber nichts zurück -> 0 -> default buffer wird genutzt. ich benutz prinzipiell die (), also hab ich keine probleme. was mich gewundert hat, ist dass punkte auf dem bildschirm erscheinen. ich dachte halt, wenn man flippt würde man nix sehen, wenn man auf den frontbuffer zeichnet, sondern nur wenn man auf den backbuffer zeichnet. deshalb kam ich darauf, dass bei dem beispiel auf den backbuffer gezeichnet werden muss, da man ja was sieht. jetzt weiss ich, dass man auch was sieht, wenn man auf den frontbuffer zeichnet und flippt. das beispiel GING also zwar, ich habe dieses "funktionieren" halt falsch interpretiert ![]() naja wieder was dazugelernt. ich benutz eh immer klammern ![]() |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group