我需要一個替代序列像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