Etwas auf eine Rchteck zeichnen!
Übersicht

sven123Betreff: Etwas auf eine Rchteck zeichnen! |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] Graphics 640,480,0,2 Function lernphase() boxx=32 boxy=32 Rect 300,250,boxx,boxy,1 For x=0 To boxx-1 For y=0 To boxy-1 Next Next If MouseDown(1) Then WritePixel MouseX(),MouseY(),000 EndIf End Function ; lernphasean=Input$("Lernphase an (1):") If lernphasean=1 Then While Not KeyDown(1) lernphase() Wend EndIf So,nun in diesem winzigen Codeabschnitt zeichne ich ein Rechteck!Nun möchte ich das man in dieses Rchteck zeichnen kann,doch mit der Funktion writtepixel , wird der Pixel den ich zeichne nicht auf das Rechteck sondern auf den Hintergrund gezeichnet!Wie kann ich es bewerkstelligen das nur in das erstellte Rechteck und nicht auf den Hintergrund gezeichnet wird.Ich habe mir schon überlegt,das Rechteck als Bilddatei extern abzuspeichern und dann erst in das Programm hineinzuladen und erst dann die änderung daran vorzunehmen,aber wenn ich das richtig sehe Löst dass auch nicht mein Problem und selbst wenn wäre das eine Umständliche Lösung,aber eine Bessere fällt mir gerade nicht ein.Wenn diese Frage unütz ist oder schon irgendwann einmal beantwortet wurde dann ignoriert einfach den Thread,ich wäre aber für jede Hilfe dankbar. Danke schon mal in Voraus euer Sven123! |
||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Diese beiden Schleifen bewirken erstmal gar nichts:Code: [AUSKLAPPEN] For x=0 To boxx-1
Wenn ich Dein eigentliches Problem richtig verstanden habe, dann schau Dir mal ImageBuffer und CreateImage an For y=0 To boxy-1 Next Next ![]() |
||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
![]() |
Travis |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja, mache das Rechteck am besten als Bild. Das kannst du auch mit CreateImage erstellen. Jetzt prüfst du bei betätigung der Maustaste, ob dein Mauszeiger auf dem Bild liegt (ImagesRectCollide) und zeichnest dann direkt in den ImageBuffer des Rechteckbildes.
Code: [AUSKLAPPEN] Rechteck = CreateImage(200,100) SetBuffer ImageBuffer(Rechteck) Rect 0,0,200,100,1 PicX = 100 PicY = 100 SetBuffer BackBuffer() Repeat Cls DrawImage Rechteck, PicX, PicY mx = MouseX() my = MouseY() Color 200,0,0: Oval mx-1,my-1,2,2,1 If MouseDown(1) Then If ImageRectCollide(Rechteck, PicX, PicY, 0, mx, my, 1, 1) Then SetBuffer ImageBuffer(Rechteck) Plot mx-PicX,my-PicX SetBuffer BackBuffer() EndIf EndIf Flip Until KeyHit(1) End |
||
www.funforge.org
Ich hasse WASD-Steuerung. Man kann alles sagen, man muss es nur vernünftig begründen können. |
sven123 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Thx Travis!(ärger) hätte mir doch lieber besser noch genauer die Onlinehilfe durchgelesen. | ||
Amd Athlon 2200+,Saphire Atlantis Radeon9800pro,1024 MB DDR RAm,40 Gb Festblatte.
'in shâ'a llâh=so Gott will Fertiges Projekt:Invasion der Heuschrecken |
![]() |
TheProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab Travis Code n' bissl abgeändert (jetzt wird ne gleichmäßige Linie gezeichnet)
Code: [AUSKLAPPEN] Rechteck = CreateImage(200,100) SetBuffer ImageBuffer(Rechteck) Rect 0,0,200,100,1 PicX = 100 PicY = 100 SetBuffer BackBuffer() Repeat Cls DrawImage Rechteck, PicX, PicY mx = MouseX() my = MouseY() Color 200,0,0: Oval mx-1,my-1,2,2,1 If MouseDown(1) Then If ImageRectCollide(Rechteck, PicX, PicY, 0, mx, my, 1, 1) Then SetBuffer ImageBuffer(Rechteck) If mx_tmp > 0 Then Line mx-PicX,my-PicX,mx_tmp-PicX,my_tmp-PicX mx_tmp = mx : my_tmp = my SetBuffer BackBuffer() Else mx_tmp = 0 my_tmp = 0 EndIf Else mx_tmp = 0 my_tmp = 0 EndIf Flip Until KeyHit(1) End |
||
aktuelles Projekt: The last day of human being |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group