我需要一个替代序列像1,-1,1,-1 ... asf。首先,我使用了if语句,但它是愚蠢的。然后我尝试了这样的:寻找一个优雅的方式来获得±1序列的处理
int n = 1;
...
do{
n = 0 + (n * (-1));
} while(blabla)
没关系,但我必须将n值从迭代存储到迭代中。这并不漂亮。如何从控制变量中计算该序列,如 frameCount?
对不起,我正在学习的不仅是代码,但也是英语。
我需要一个替代序列像1,-1,1,-1 ... asf。首先,我使用了if语句,但它是愚蠢的。然后我尝试了这样的:寻找一个优雅的方式来获得±1序列的处理
int n = 1;
...
do{
n = 0 + (n * (-1));
} while(blabla)
没关系,但我必须将n值从迭代存储到迭代中。这并不漂亮。如何从控制变量中计算该序列,如 frameCount?
对不起,我正在学习的不仅是代码,但也是英语。
这不是很可读,但如果你正在寻找的东西纯粹是“优雅”,我想你可以这样做:
int n = 1 - ((frameCount % 2) * 2);
如果你在偶数帧你会被减去(1 - 0),如果你在奇数帧,你会减去(1 - 2)。
很好,谢谢! – Daria 2012-01-28 19:10:00
为什么不你只是这样做
float n = 1 ;
void setup() {
....
}
void draw() {
....
n =-n;
....
}
因为您正在使用全局状态变量,应该尽可能避免这种变量。改为将状态作为参考或指针。 – user877329 2014-05-12 06:52:28
自从我看了Processing之后,我已经有一段时间了,但我会给它一个镜头。我猜frameCount只是增加每一帧?如果这样你可以说'n =(frameCount%2 == 0)? 1:-1'即,当frameCount为偶数时,n为1;当frameCount是奇数时,n是-1。 – jpm 2012-01-27 20:57:09