Codedraw ist eine anfängerfreundliche Zeichenbibliothek, mit der Bilder, Animationen und sogar interaktive Anwendungen erstellt werden können. Es ist für Personen konzipiert, die gerade erst anfangen, Programmierung zu lernen, sodass sie grafische Anwendungen erstellen können.
Lesen Sie die Einführung in Codedraw für einen Anfängerhandbuch für Codedraw. Es gibt auch einen Überblick über die in Codedraw verfügbaren Funktionen.
Der Javadoc für Codedraw finden Sie hier.
Eine C# -Version von codedraw finden Sie im CodedRawProject -Repository.
Gehen Sie zu Veröffentlichungen und laden Sie den neuesten Codedraw.jar herunter.
Öffnen Sie Intellij mit dem Projekt, in dem Sie Codedraw hinzufügen möchten. Klicken Sie auf Datei> Projektstruktur .... Wählen Sie unter Projekteinstellungen Bibliotheken aus. Klicken Sie oben links auf das kleine Plus -Symbol und wählen Sie die Java -Option aus. Gehen Sie zum heruntergeladenen codedraw.jar und wählen Sie es aus und drücken Sie dann OK . Jetzt können Sie codedraw mit import codedraw.*; oben in Ihren Java -Dateien.
Um Codedraw mit Eclipse , Maven oder Gradle zu installieren, finden Sie in der Installation.md.
Hier ist ein Beispiel dafür, wie Sie ein statisches Bild unter Verwendung von Codedraw erstellen können.
import codedraw .*;
public class Main {
public static void main ( String [] args ) {
// Creates a new CodeDraw window with a size of 400x400 pixel.
CodeDraw cd = new CodeDraw ( 400 , 400 );
// Sets the drawing color to red.
cd . setColor ( Palette . RED );
// Draws the outline of a rectangle.
cd . drawRectangle ( 100 , 100 , 200 , 100 );
// Draws a filled square.
cd . fillSquare ( 180 , 150 , 80 );
// Changes the color to light blue.
cd . setColor ( Palette . LIGHT_BLUE );
cd . fillCircle ( 300 , 200 , 50 );
// Finally, the method "show" must be called
// to display the drawn shapes in the CodeDraw window.
cd . show ();
}
}.show() ❗ zu nennen ❗ 
Animationen werden erstellt, indem mehrere Frames gezogen und dann zwischen diesen Frames pausieren. In Codedraw wird dies erreicht, indem eine Schleife erstellt wird, in der jede Iteration einen Rahmen zeichnet und dann eine bestimmte Zeit, 1 Sekunde oder 1000 Millisekunden in diesem Fall unter Verwendung der Methode .show(1000) wartet.
import codedraw .*;
public class Main {
public static void main ( String [] args ) {
CodeDraw cd = new CodeDraw ( 400 , 400 );
for ( double sec = - Math . PI / 2 ; ! cd . isClosed (); sec += Math . PI / 30 ) {
// Clears the entire canvas.
cd . clear ();
// Draws the second hand of the clock.
cd . drawLine ( 200 , 200 , Math . cos ( sec ) * 100 + 200 , Math . sin ( sec ) * 100 + 200 );
// Draws the twelve dots.
for ( double j = 0 ; j < Math . PI * 2 ; j += Math . PI / 6 ) {
cd . fillCircle ( Math . cos ( j ) * 100 + 200 , Math . sin ( j ) * 100 + 200 , 4 );
}
// Displays the drawn objects and waits 1 second.
cd . show ( 1000 );
}
}
} Interaktive Programme können durch Lesen von Ereignissen aus dem EventsCanner erstellt werden und basierend auf der Art des Ereignisses switch . In älteren Java -Versionen kann der Eventscanner auch genauso verwendet werden wie der java.util.Scanner mit has... und next... Methoden. Eine detailliertere Erklärung finden Sie im Abschnitt zur Handhabungsereignisse in der Einführung in Codedraw.
Sie können auch den Codedraw -Ereigniscodegenerator verwenden, um Ihren Ereigniscode automatisch für Sie zu generieren.
import codedraw .*;
public class Main {
public static void main ( String [] args ) {
CodeDraw cd = new CodeDraw ();
cd . drawText ( 200 , 200 , "Move your mouse over here." );
cd . show ();
cd . setColor ( Palette . RED );
// Creates an endless loop (until you close the window).
while (! cd . isClosed ()) {
// Creates a loop that consumes all the currently available events.
for ( var e : cd . getEventScanner ()) {
switch ( e ) {
// If the event is a mouse move event, a red square will be drawn at its location.
case MouseMoveEvent a ->
cd . fillSquare ( a . getX () - 5 , a . getY () - 5 , 10 );
default -> { }
}
}
// Display the red squares that have been drawn up to this point.
cd . show ( 16 );
}
}
} Alle diese Beispiele können auch mit der Animation erstellt werden. Eine Instanz der Animation kann an codedraw übergeben werden, die anschließend die von Ihnen implementierten Methoden aufrufen. Das folgende Beispiel ermöglicht es Ihnen, einen Kreis mit den WASD-Keys zu steuern. Die onKeyDown -Methode wird jedes Mal ausgelöst, wenn eine Taste gedrückt wird und die Position des Kreises modifiziert. Die draw wird 60-mal pro Sekunde aufgerufen und zeichnet den Kreis am XY-Koordinaten.
import codedraw .*;
public class MyAnimation implements Animation {
public static void main ( String [] args ) {
CodeDraw . run ( new MyAnimation ());
}
private int x = 50 ;
private int y = 50 ;
@ Override
public void onKeyDown ( KeyDownEvent event ) {
if ( event . getKey () == Key . W ) {
y -= 20 ;
}
else if ( event . getKey () == Key . A ) {
x -= 20 ;
}
else if ( event . getKey () == Key . S ) {
y += 20 ;
}
else if ( event . getKey () == Key . D ) {
x += 20 ;
}
}
@ Override
public void draw ( Image canvas ) {
canvas . clear ();
canvas . fillCircle ( x , y , 10 );
}
}Fühlen Sie sich frei, Fragen zu stellen, Funktionen vorzuschlagen oder Fehlerberichte im Abschnitt Problem zu erstellen. ?