【发布时间】:2014-12-12 18:55:27
【问题描述】:
我对处理有点陌生,我正在尝试制作一个 mousePressed 事件,该事件会在屏幕上创建旋转立方体。下一阶段将是在它们之间创建碰撞事件,但现在我遇到了另一个问题:它可以工作,但前提是按下鼠标,而我希望它们持续存在,即使没有按下鼠标。
这是代码,我尝试了一种解决方法,以无限循环循环,它产生了一个奇怪的故障,所有这些旋转的立方体一直旋转直到进入 0,0... 实际上 void draw 是空的,因为一切都在不断被抹去。
int pointmousex;
int pointmousey;
float a=0;
float r=0;
float co=100;
float Cubox[]= {
};
float Cuboy[]= {
};
float Cuboz[]= {
};
boolean bgON=true;
void setup() {
size(800, 640, P3D);
colorMode(HSB);
background(0);
smooth();
}
void draw_box(float x, float y, float box_size, float rot) {
float z=box_size;
translate(x, y, z);
rotateX(rot);
rotateY(rot);
fill(map(co, 0, 255, 100, 255));
box(box_size, box_size, box_size);
}
void draw() {
if (bgON==true) {
fill(255, 230, 200);
rect(0, 0, width, height);
}
r=r+0.1;
}
void mousePressed() {
int pointmousex = mouseX;
int pointmousey = mouseY;
lights();
draw_box(pointmousex, pointmousey, 100, r*0.2);
}
void keyPressed() {
if (key=='b' || key=='B') {
if (bgON==true) {
bgON = false;
} else {
bgON = true;
}
}
}
【问题讨论】:
标签: 3d rotation processing