Willkommen bei meinem neuen Tutorial über das Zeichnen in einem Blitz Plus Fenster!

 

In den letzten Tutorials wurde ja schon viel da zu gelernt und jemand der zum Beispiel einen Level Editor erstellen möchte, muss auch irgendwie seine Grafiken anzeigen können. Daher gibt es in Blitz Plus die sogenannten Canvases. Ihr könnt euch das so vorstellen, das wir ein Blatt Papier erstellen werden auf dem Wir alles Drauf zeichnen können. Dann wollen wir die Sache mal angehen!

 

Const Window_Close = $803

Unsere Const für das schließen des Fensters.

 

 

window = CreateWindow("Test",100,100,500,500,0,1)

Wir erstellen unser Fenster. Dieses mal aber nur ein einfaches Fenster, da wir für dieses Tutorial nicht mehr brauchen.

 

 

canvas=CreateCanvas(0,0,GadgetWidth(window),GadgetHeight(window), window)

Hier fängt das wichtigste an. Wir erstellen einen Canvas auf dem wir später unsere Grafiken Darstellen können. Schauen wir uns den Befehl mal genauer an!

CreateCanvas(x,y,width,height,group)

x = Xposition des Canvas

y = Yposition des Canvas

width = X Größe des Canvas

height = Y Größe des Canvas

group = Gadget Handle

Das sind erstmal die Grundlegenden Sachen. Dann seht ihr da noch GadgetWidth und GadgetHeight. Die Befehle brauchen wir einfach nur um dem canvas die X Größe und die Y Größe unseres window mitzuteilen. Das war's auch schon, unser Canvas ist erstellt. Weiter im Text.

 

 

SetBuffer CanvasBuffer(canvas)

Wir setzen den Buffer auf den Canvasbuffer vom canvas den wir oben erstellt haben. Ansonsten sehn wir nichts und Blitz Plus Zeigt bei mir dann einen Fehler an.

 

While Not KeyHit(1)

Unsere beliebte schleife beginnt.

 

 

Select WaitEvent(15)

Case Window_Close
End

End Select

Wir fragen wieder nach was der benutzer gerade macht und was er so an klickt und wen er bestimmte sachen an klickt, führen wir eine Aktion aus. In diesem Falle beenden wir das Programm wieder wen wir das Kreuzchen An klicken. Dieses mal habe ich noch eine 15 rein geschrieben bei WaitEvent. Da mit sagen wir ihm, das er immer 15 Millisekunden warten soll bevor er das nächste nachfragt was gemacht wird. Das hat den Vorteil er wartet nicht immer bis man etwas macht und Wird dann angesprochen, er macht es halt automatisch. Dann beenden wir wieder die Select..Case abfrage.

 

 

Cls
Rect 100,100,100,100

FlipCanvas(canvas)

Man will ja auch beweisen das etwas gezeichnet werden kann. Deshalb ein einfaches Rect(x,y,width,height), Cls um den Screen aufzufrischen und FlipCanvas(canvas) um den CanvasBuffer zu Flippen.

 

 

Wend

Ende der schleife.

Das war's auch schon. Somit bekommt ihr Grafik in euer Programm. Es folgt noch der Code. Bis zum nächsten mal!

 

Const Window_Close = $803

window = CreateWindow("Test",100,100,500,500,0,1)


canvas = CreateCanvas(0,0,GadgetWidth(window), GadgetHeight(window), window)
SetBuffer CanvasBuffer(canvas)

While Not KeyHit(1)

Select WaitEvent(15)

Case Window_Close
End

End Select

Cls
Rect 100,100,100,100

FlipCanvas(canvas)
Wend


Mfg Suco-X