CodedRaw es una biblioteca de dibujo para principiantes que se puede usar para crear imágenes, animaciones e incluso aplicaciones interactivas. Está diseñado para personas que recién comienzan a aprender programación, lo que les permite crear aplicaciones gráficas.
Lea la Introducción a CodedRaw para una Guía para principiantes para CodedRaw. También ofrece una descripción general de las características disponibles en CodedRaw.
El Javadoc para CodedRaw se puede encontrar aquí.
Para una versión C# de CodedRaw, visite el repositorio de CodedRawProject.
Vaya a lanzamientos y descargue el nuevo codedraw.jar.
Abra IntelliJ con el proyecto donde le gustaría agregar CodedRaw. Haga clic en Archivo> Estructura del proyecto .... En Configuración del proyecto , seleccione Bibliotecas . En la esquina superior izquierda, haga clic en el icono pequeño Plus y seleccione la opción Java . Vaya al codificado codedraw.jar, y seleccione y luego presione OK . Ahora puede importar CodedRaw con import codedraw.*; En la parte superior de sus archivos Java.
Para instalar CodedRaw con Eclipse , Maven o Gradle , consulte Install.md.
Aquí hay un ejemplo de cómo puede crear una imagen estática con el uso de CodedRaw.
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() ❗ 
Las animaciones se crean dibujando múltiples marcos y luego deteniendo entre esos cuadros. En CodedRaw, esto se logra creando un bucle en el que cada iteración dibuja un cuadro y luego espera una cierta cantidad de tiempo, 1 segundo o 1000 milisegundos en este caso, utilizando el método .show(1000) .
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 );
}
}
} Los programas interactivos se pueden crear leyendo eventos de EventsCanner y switch Ing en función del tipo de evento. En las versiones de Java más antiguas, el EventsCanner también se puede usar de la misma manera que el java.util.Scanner con los métodos has... y next... Se puede encontrar una explicación más detallada en la sección de eventos de manejo en la Introducción a CodedRaw.
También puede usar el generador de código de evento CodedRaw para generar automáticamente su código de evento para usted.
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 );
}
}
} Todos estos ejemplos también se pueden crear utilizando la interfaz Animation . Se puede pasar una instancia de la interfaz Animation a CodedRaw que posteriormente invoca los métodos que implementa. El siguiente ejemplo le permite controlar un círculo con los wasd-keeys. El método onKeyDown se activa cada vez que se presiona una tecla hacia abajo y modifica la posición del círculo. El método draw se llama 60 veces por segundo y dibuja el círculo en la coordenada XY.
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 );
}
}No dude en hacer preguntas, sugerir funciones o hacer informes de errores en la sección del problema. ?