jueves, 28 de mayo de 2020

Star Wars en Processing


En la página Open Processing podemos probar código Processing y ver el resultado.  Se ha de seleccionar la pestaña Processingjs, tal como se muestra en la imagen.



Si pegamos el siguiente código:


int x = random(50,450);
int y = 420;
int x1 = 136;
int y1 = 82;
int dispara = 0;
int disparay = 450;
int nave1x = random(50,450);
int nave1y = 10;
int nave1An = 1;
int nave1Al = 3;

void setup() {
  size(500, 500);
  cohete = loadImage("https://1.bp.blogspot.com/-mAkAr__G2xo/Xsv1PHLHwdI/AAAAAAAA3S0/g6s8HIy6JUwElr7Zg9tbfEs2Ghx_G-SAgCLcBGAsYHQ/s1600/cohete.png");
  marte = loadImage("https://1.bp.blogspot.com/-A2pGJAie6Q4/Xsv1PXuuXhI/AAAAAAAA3S4/ZwR5pdt9cXY-lcu_W6mkhyOcQl_DmJeTwCLcBGAsYHQ/s1600/Marte.png");
tanque = loadImage("https://1.bp.blogspot.com/-LYPVGwgQMwI/Xsv6YwFkU7I/AAAAAAAA3TE/2eJeIjsudNkyESXbQB0FsLjUGo6_rQNkQCLcBGAsYHQ/s320/tanque.png");

}




void draw() {



if (keyCode==38){//Flecha arriba
keyCode=0;
}
if (keyCode==40){//Flecha abajo
keyCode=0;
}
if (keyCode==39){//Flecha derecha
x = x +10;
keyCode=0;
}
if (keyCode==37){//Flecha izquierda
x = x -10;

keyCode=0;
}
if (keyCode==10){//RETURN
dispara = 1;
disparay = 450;
keyCode=0;
}

image(marte, 0, 0, 1300, 500);
nave1();
image(tanque, x, y, x1, y1);
if(dispara==1){
ellipse(x+70,disparay, 5,5);
disparay = disparay -1;
}
}

void nave1(){
  image(cohete, nave1x, nave1y, nave1An, nave1Al);
nave1y = nave1y + 1;
nave1An = nave1An + 0.25;
nave1Al = nave1Al + 0.75;
if(nave1y>300){
nave1x = random(50,450);
nave1y = 10;
nave1An = 1;
nave1Al = 1;
}
}


Tendremos una pequeña animación con dos personajes. El cohete desciende sobre el escenario desde un punto aleatorio. El tanque lo podemos mover a derecha e izquierda con las teclas flecha derecha e izquierda. El tanque puede disparar hacia arriba pequeños círculos con la tecla ENTER.




No hay comentarios: