editor (zeichen prog) problem
Übersicht

![]() |
SYSThernBetreff: editor (zeichen prog) problem |
![]() Antworten mit Zitat ![]() |
---|---|---|
hallo
für mein game hab ich einen editor erstellt es ist eher ein zeichenprog...egal naja also wenn man nun da zeichnet und die maus schnell bewegt... entstehen lücke?? wie behebe ich das? und das speichern funktioniert nicht mehr =((obwohl es funktionierte!) vll. hilft jemand sry wegen unsauberen code nicht optimiert... heute 2 stunden Code: [AUSKLAPPEN] AppTitle "SYST_Draw v 0.2 a" Graphics 640,480,16,2 Global save$ Global back SetBuffer BackBuffer() timer=CreateTimer(100) window=CreateImage(128,72) SetBuffer ImageBuffer(window) Color 128,128,128 Rect 0,0,ImageWidth(window),ImageHeight(window) Color 142,142,142 Rect 0,ImageHeight(window)-ImageHeight(window)/10,ImageWidth(window),ImageHeight(window)/10,1 Rect 0,0,ImageWidth(window),ImageHeight(window)/10,1 Color 5,5,5 Rect 0,0,ImageWidth(window),ImageHeight(window),0 Text 48,16,"save:" Color 255,255,255 Rect 12,32,104,12,1 MidHandle window Global paper=CreateImage(GraphicsWidth(),GraphicsHeight()) SetBuffer ImageBuffer (paper) Color 255,255,255 Rect 0,0,ImageWidth(paper),ImageHeight(paper),1 SetBuffer BackBuffer() bar=CreateImage(ImageWidth(paper),GraphicsHeight()/5) SetBuffer ImageBuffer(bar) Color 128,128,128 Rect 0,0,ImageWidth(bar),ImageHeight(bar),1 Color 142,142,142 Rect 0,ImageHeight(bar)-ImageHeight(bar)/10,ImageWidth(bar),ImageHeight(bar)/10,1 Rect 0,0,ImageWidth(bar),ImageHeight(bar)/10,1 Color 5,5,5 Rect 0,0,ImageWidth(bar),ImageHeight(bar),0 Rect 248,24,228,48,0 Rect 477,24,98,48,0 ;SetBuffer BackBuffer() new_button=CreateImage(64,32) SetBuffer ImageBuffer(new_button) Color 142,142,142 Rect 0,0,ImageWidth(new_button),ImageHeight(new_button)/2,1 Color 5,5,5 Rect 0,0,ImageWidth(new_button),ImageHeight(new_button),0 Text 20,8,"New" ;SetBuffer BackBuffer() save_button=CreateImage(64,32) SetBuffer ImageBuffer(save_button) Color 142,142,142 Rect 0,0,ImageWidth(save_button),ImageHeight(save_button)/2,1 Color 5,5,5 Rect 0,0,ImageWidth(save_button),ImageHeight(save_button),0 Text 18,8,"Save" ;SetBuffer BackBuffer() SetBuffer BackBuffer() red=CreateImage(32,32) SetBuffer ImageBuffer(red) Color 255,0,0 Rect 0,0,ImageWidth(red),ImageHeight(red),1 ;SetBuffer BackBuffer() green=CreateImage(32,32) SetBuffer ImageBuffer(green) Color 0,255,0 Rect 0,0,ImageWidth(green),ImageHeight(green),1 ;SetBuffer BackBuffer() blue=CreateImage(32,32) SetBuffer ImageBuffer(blue) Color 0,0,255 Rect 0,0,ImageWidth(blue),ImageHeight(blue),1 ;SetBuffer BackBuffer() yellow=CreateImage(32,32) SetBuffer ImageBuffer(yellow) Color 255,255,0 Rect 0,0,ImageWidth(yellow),ImageHeight(yellow),1 ;SetBuffer BackBuffer() black=CreateImage(32,32) SetBuffer ImageBuffer(black) Color 5,5,5 Rect 0,0,ImageWidth(black),ImageHeight(black),1 ;SetBuffer BackBuffer() MaskImage black,1,1,1 white=CreateImage(32,32) SetBuffer ImageBuffer(white) Color 255,255,255 Rect 0,0,ImageWidth(white),ImageHeight(white),1 ;SetBuffer BackBuffer() pointer=CreateImage(8,8) SetBuffer ImageBuffer(pointer) Color 1,1,1 Oval 2,2,4,4,1 ;SetBuffer BackBuffer() pointer2=CreateImage(8,8) HidePointer() brush_rect=CreateImage(16,16) SetBuffer ImageBuffer(brush_rect) Color 1,1,1 Rect 0,0,16,16,1 ;SetBuffer BackBuffer() brush_oval=CreateImage(16,16) SetBuffer ImageBuffer(brush_oval) Color 1,1,1 Oval 0,0,16,16,1 SetBuffer BackBuffer() size=12 modus=1 While Not KeyHit(1) mh=MouseHit(1) If ImagesOverlap(pointer,MouseX(),MouseY(),red,256,32) And mh=1 Then Color 255,0,0 If ImagesOverlap(pointer,MouseX(),MouseY(),yellow,292,32) And mh=1 Then Color 255,255,0 If ImagesOverlap(pointer,MouseX(),MouseY(),green,328,32) And mh=1 Then Color 0,255,0 If ImagesOverlap(pointer,MouseX(),MouseY(),blue,364,32) And mh=1 Then Color 0,0,255 If ImagesOverlap(pointer,MouseX(),MouseY(),black,400,32) And mh=1 Then Color 0,0,0 If ImagesOverlap(pointer,MouseX(),MouseY(),white,436,32) And mh=1 Then Color 255,255,255 If ImagesOverlap(pointer,MouseX(),MouseY(),brush_rect,500,40)And mh=1 Then modus=1 If ImagesOverlap(pointer,MouseX(),MouseY(),brush_oval,536,40)And mh=1 Then modus=2 If ImagesOverlap(pointer,MouseX(),MouseY(),new_button,128,56) And mh=1 Then SetBuffer ImageBuffer(paper) Color 255,255,255 Rect 0,0,ImageWidth(paper),ImageHeight(paper),1 SetBuffer BackBuffer() EndIf If ImagesOverlap(pointer,MouseX(),MouseY(),save_button,128,10) And mh=1 Then saveing=1 EndIf SetBuffer ImageBuffer(pointer2) Oval 0,0,8,8,0 SetBuffer BackBuffer() DrawImage paper,0,0 DrawImage bar,0,0 DrawImage red,256,32 DrawImage yellow,292,32 DrawImage green,328,32 DrawImage blue,364,32 DrawImage black,400,32 DrawImage white,436,32 DrawImage brush_rect,500,40 DrawImage brush_oval,536,40 DrawImage new_button,128,54 DrawImage save_button,128,10 If saveing=1 newinput$() DrawImage window,GraphicsWidth()/2,GraphicsHeight()/2 Text 267,235,save$ EndIf If KeyDown(28) Then ok=SaveImage(paper,save$+".bmp") saveing=0 EndIf Text 0,24,ok Text 0,0,MouseX() Text 0,12,MouseY() DrawImage pointer,MouseX(),MouseY() DrawImage pointer2,MouseX(),MouseY() If MouseDown(1) Then SetBuffer ImageBuffer(paper) For i=1 To 500 If modus=2 Then Oval MouseX(),MouseY(),size,size,1 Else If modus=1 Then Rect MouseX(),MouseY(),size,size,1 EndIf Next EndIf SetBuffer BackBuffer() WaitTimer timer Flip 0 Cls Wend End Function newinput$() Local i= GetKey() If i>=1 Then save$ = save$ + Chr$(i) If KeyDown(14) And Len(save$) > 0 And MilliSecs()-back >70 Then back=MilliSecs() save$ = Left(save$,(Len(save$)-1)) End If Return save$ End Function danke im vorraus.... frei verwendbar... mfG SYSThern |
||
Tools and Programms
-------------------- www.systhern.de |
![]() |
coolo |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du speicherst die vorige Position, dann die neuen, und dann machst du ne Linie.
Bei nem Oval oder dergleichen, berechnet man sich den Winkel wwischen den beiden Punkten, und dann nähert man sich Schritteweise der Maus. Ich weiß nicht ob das der effektivste Weg ist das zu machen, aber er funktioniert. Warum das Speichern nicht funzte, können wir nicht dagen, weil wir keine Hellseher sind. Also zeig unde den Speichercode. |
||
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project! "Eigenzitate sind nur was für Deppen" -Eigenzitat |
![]() |
SYSThern |
![]() Antworten mit Zitat ![]() |
---|---|---|
aha gut dange mal schaun
speichercode??? ist alles drin edit!!! geschafft aber trotzdem danke |
||
Tools and Programms
-------------------- www.systhern.de |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group