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