Commit 299de21a by Pedro Rolon

Ahora ya se puede dibujar!

parent ac9bd471
import java.lang.Math.*;
public class Bicicleta{
double x = 0;
......@@ -15,8 +16,8 @@ public class Bicicleta{
//Halla un vector con origen en el eje de coordenadas
//Utilizando sus coordenadas polares, que en este caso
//son el giro y la cantidad a avanzar
double nuevoX = n * Math.sin(this.giro);
double nuevoY = n * Math.cos(this.giro);
double nuevoX = n * Math.cos(this.giro);
double nuevoY = n * Math.sin(this.giro);
//Suma los vectores para obtener la nueva posición
//del punto
......
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.layout.Pane;
import javafx.scene.paint.Color;
import javafx.scene.shape.ArcType;
import javafx.stage.Stage;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import Bicicleta;
public class Something extends Application
{
public static void main(String[] args)
{
Application.launch(args);
}
@Override
public void start(Stage stage)
{
Canvas canvas = new Canvas(400, 400);
GraphicsContext gc = canvas.getGraphicsContext2D();
gc.setLineWidth(2.0);
Bicicleta bicicleta = new Bicicleta();
mover(gc, bicicleta, 50);
mover(gc, bicicleta, 50, 1.5708);
mover(gc, bicicleta, 50, 0);
mover(gc, bicicleta, 50, 1.5708);
mover(gc, bicicleta, 50, 0);
mover(gc, bicicleta, 50, 1.5708);
mover(gc, bicicleta, 50, 3.14159);
mover(gc, bicicleta, 25, 4.71239);
mover(gc, bicicleta, 100, 0.523599);
mover(gc, bicicleta, 100, 5.23599);
//gc.strokeLine(200, 50, 300, 50);
//gc.strokeLine(0, 0, 300, 50);
try{
//FileInputStream inputstream = new FileInputStream("file:javacleta.png");
FileInputStream inputstream = new FileInputStream("javacleta.png");
//se setea el tamaño de la imagen!
Image img = new Image(inputstream, 50, 50, false, false);
//gc.drawImage(img, 0, 0);
//es 350 menos porque se toma en cuenta el tamaño de la imagen!
gc.drawImage(img, bicicleta.x, 350-bicicleta.y);
}catch(FileNotFoundException e){
System.out.println("Ocurió un error en la carga de imagen!");
System.out.println(e.getMessage());
}catch(Exception e){
System.out.println("error: no se pudo cargar la imagen");
System.out.println(e.getMessage());
}
Pane root = new Pane();
root.setStyle("-fx-padding: 10;" +
"-fx-border-style: solid inside;" +
"-fx-border-width: 2;" +
"-fx-border-insets: 5;" +
"-fx-border-radius: 5;" +
"-fx-border-color: blue;");
root.getChildren().add(canvas);
Scene scene = new Scene(root);
stage.setScene(scene);
stage.setTitle("Óyeme Carlos llévame en tu Bicicleta");
stage.show();
}
//Mueve la bicicleta y dibuja su recorrido
//Recibe como parámetro la distancia y dirección de la bicicleta
private void mover(GraphicsContext gc, Bicicleta bicicleta, double distancia, double direccion){
double xInicial = 10+bicicleta.x;
//El 400 se le resta para que aparezca hacia abajo, pues las coordenadas están invertidas
double yInicial = 400-bicicleta.y;
bicicleta.girar(direccion);
bicicleta.avanzar(distancia);
double xFinal = 10+bicicleta.x;
double yFinal = 400-bicicleta.y;
gc.strokeLine(xInicial, yInicial, xFinal, yFinal);
System.out.println(bicicleta.x+" "+ bicicleta.y+" elo");
}
//Mueve la bicicleta y dibuja su recorrido
//Recibe como parámetro solo la distancia
//Avanza en la dirección que ya tenía
private void mover(GraphicsContext gc, Bicicleta bicicleta, double distancia){
double xInicial = 10+bicicleta.x;
double yInicial = 400-bicicleta.y;
bicicleta.avanzar(distancia);
double xFinal = 10+bicicleta.x;
double yFinal = 400-bicicleta.y;
gc.strokeLine(xInicial, yInicial, xFinal, yFinal);
System.out.println(bicicleta.x+" "+ bicicleta.y+"alo");
}
}
\ No newline at end of file
bic.png

17 KB

Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment