【发布时间】:2021-11-12 10:45:05
【问题描述】:
我正在使用名为 Processing 的程序学习 Java。 但是,我不明白为什么我的代码不能正常工作。 我做了一个有这个问题的手臂,当我按住鼠标按钮时它应该向上或向下旋转,但是当我按住鼠标左键时它才起作用,当我按住鼠标右键时它不起作用。 问题是我不知道我的代码的问题如下。
float angle=0;
float angleDirection=1;
float speed=0.005;
void setup(){
size(800,600);
}
void draw(){
background(255,255,255);
stroke(20,20,255);
translate(400,300);
rotate(angle);
strokeWeight(18);
line(0,0,140,0);
pushMatrix();
translate(140,0);
rotate(angle*2.0);
strokeWeight(14);
line(0,0,100,0);
translate(100,0);
rotate(angle*2.5);
strokeWeight(10);
line(0,0,60,0);
popMatrix();
rotate(-angle*2.0);
strokeWeight(18);
line(0,0,-140,0);
translate(-140,0);
rotate(-angle*2.0);
strokeWeight(14);
line(0,0,-100,0);
translate(-100,0);
rotate(-angle*2.5);
strokeWeight(10);
line(0,0,-60,0);
if(mousePressed){
if(mouseButton==LEFT){
angle=angle+speed*angleDirection;
if((angle>QUARTER_PI)||(angle<0)){
angle=QUARTER_PI;
}
if(mouseButton==RIGHT){
angle=angle+speed*angleDirection;
if((angle>QUARTER_PI)||(angle<0)){
angleDirection=-angleDirection;
angle=QUARTER_PI;
}
}
}
}
}
【问题讨论】:
-
processing.org 与 Java 有什么关系?
-
@HiranChaudhuri Processing is written in java 您可以将其用作 java 库。最小的编辑器和财富或实用功能使以更简单的形式绘制/原型程序变得容易。 (有其他语言的处理端口,如 JS (p5.js)、Python 等,但主要/原始实现是在 java 中)。
-
嗯。 Java 是用 C++ 编写的。我们不应该也加上那个标签吗?
-
@HiranChaudhuri 就我个人而言,我会将 c++ 和 java 标签分开,否则将很难管理。有点牵强,但想象一下在没有成为 C++ 和 Java 程序员的情况下参加 Java 面试,并被要求用 C++ 编写代码,因为 Java 是用 C++ 编写的。如果您好奇,可以在meta 上提问。我确信存在 c++ 和 java 标签都有效的问题,例如在为 c++ 库创建 java 绑定时(通过 jni/jna/swig 等)。我的观点是,在这个问题的上下文中,没有 c++ 标签的 java 标签就足够了。
-
由于处理本身就是一种语言,我相信即使是 java 标签也太多了。出于同样的原因,C++ 对于 Java 面试来说太过分了。另一方面,如果您坚持应该提及它,因为处理是用 java 编程的,那么您上面提到的端口呢?
标签: java processing