





Slangbella processing kod
import processing.opengl.*;
// Skapad av Oliver och Xerxes 2007
float graderPerSkarmuppdateringIXLed;
float graderPerSkarmuppdateringIYLed;
float nuvarandeRotationIXLed;
float nuvarandeRotationIYLed;
void setup() {
size(800, 600, OPENGL);
// noStroke();
fill(0, 102, 153, 40);
graderPerSkarmuppdateringIXLed = 1;
graderPerSkarmuppdateringIYLed = 0.80;
}
void draw() {
background(color(250,250,250,250)); // rensar skärmen inklusive djupminnet
pushMatrix(); // komihåg hur du ritar
translate(width/2,height/2,0);
//scale(4,4,0);
rotateX(radians(45));
rotateY(radians(45));
//Bromsa
graderPerSkarmuppdateringIYLed=graderPerSkarmuppdateringIYLed*0.99;
graderPerSkarmuppdateringIXLed=graderPerSkarmuppdateringIXLed*0.99;
//Uppdatera
nuvarandeRotationIYLed=nuvarandeRotationIYLed+graderPerSkarmuppdateringIYLed;
nuvarandeRotationIXLed=nuvarandeRotationIXLed+graderPerSkarmuppdateringIXLed;
pushMatrix();
rotateX(radians(nuvarandeRotationIXLed));
rotateY(radians(nuvarandeRotationIYLed));
fill(color(255,128,0));
scale(0.8,0.8,0.8);
box(150,150,150);
translate(150,0,0);
rotateX(radians(-nuvarandeRotationIXLed));
rotateY(radians(-nuvarandeRotationIYLed));
box(50,50,50);
popMatrix();
rotateX(radians(-nuvarandeRotationIXLed));
rotateY(radians(-nuvarandeRotationIYLed));
// scale(1.5,1.5,1.5);
fill(color(255,245,0,30));
// scale(1.5,1.5,1.5);
box(300,300,300);
popMatrix(); // återgå till det du kom ihåg
//line(mouseX, 20+mouseY, mouseX, 80+mouseY);
}
int muspekarkoordinatX;
int muspekarkoordinatY;
void mousePressed() {
//registrera muspekarkoordinat
muspekarkoordinatX=mouseX;
muspekarkoordinatY=mouseY;
}
void mouseDragged() {
//rita linje mellan föregående muspekarkoordinat och nuvarande muspekarkoordinat
line(muspekarkoordinatX,muspekarkoordinatY,mouseX,mouseY);
}
void mouseReleased() {
//uppdatera accelerationsvinkel efter avstånd på muspekarkoordinater
float Yavstand=muspekarkoordinatY-mouseY;
float Xavstand=muspekarkoordinatX-mouseX;
Xavstand=Xavstand*0.08;
Yavstand=Yavstand*0.08;
//Accelerera efter önskemål
graderPerSkarmuppdateringIYLed=graderPerSkarmuppdateringIYLed+Yavstand;
graderPerSkarmuppdateringIXLed=graderPerSkarmuppdateringIXLed+Xavstand;
}
Referens till aktuell sida
- Processing senast redigerad 2009-11-03 klockan 19.29 av m90-130-206-241.cust.tele2.se