Rubrik:
Senast redigerad : 2007-07-01 klockan 02.35 av 192.168.1.135
<code> 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; } </code>