4
我有一個Arduino,我試圖找到最有效的方法來爲數組中的像素設置動畫。陣列由3個數組表示,分別爲30個uint8_t
s。 (30像素* R + G + B級別0-255)。對數組進行動畫製作
將像素獨立向下移動陣列的最佳方法是什麼?這是一個內存有限的環境(2 KB RAM),並且該陣列佔用720個字節。我最初試圖爲每個像素使用一個數組,並且耗盡內存。第二個實現使用if語句,並且運行良好,但創建新模式非常繁瑣。我正在尋找一種解決問題的方法,可能比我現在解決問題更好。
下面是一個我想要動畫的模式的例子。
X moves forward 1 each cycle.
Y moves forward 3 places then back 2.
Z moves backwards 3 places each cycle.
|_|X|_|_|_|_|_|_|_|_|_|_|_|_|Y|_|_|_|_|_|_|_|_|_|_|_|_|_|_|Z|
|_|_|X|_|_|_|_|_|_|_|_|_|_|_|_|_|_|Y|_|_|_|_|_|_|_|_|Z|_|_|_|
|_|_|_|X|_|_|_|_|_|_|_|_|_|_|_|Y|_|_|_|_|_|_|_|Z|_|_|_|_|_|_|
這裏是我要使用的代碼。
void animateScene1() {
for(int i = 0; i <= numPixels; i++) {
setColor(i, X);
if(i < 15) {
if(i % 2 == 0)
setColor((i+15)+3), Y);
else
setColor((i+15)-2), Y);
}
if(i < 10)
setColor(numPixels-3*i, Z);
}
}
任何更好的方法的想法?
我不確定我是否理解。你想要通用代碼來執行特定的動畫? – 2011-01-23 20:20:27
沒問題。因此,如果我可以說X是一個幅度爲1的矢量,而不是創建一個函數來編碼每個特定的動畫,Z是一個幅度爲-3的矢量,並且能夠簡化附加圖案的創建 – KyleWpppd 2011-01-23 20:23:23