0

在我的 Java 游戏中,我有一个名为 update() 的方法,它每秒调用大约 60 次。

有了这个,我在每次调用颜色时将 3 添加到颜色的 alpha 值。但是,我希望它继续添加,然后当它达到 255 时,开始减去,所以颜色会闪烁进出。我怎么能做到这一点?

编辑:我刚刚找到了解决方案。

int alpha = 0;
int alphaB = -1;

if(alpha == 255) { // check alpha doesn't exceed limit
    alpha = 250;
} else if(alpha == 0) { // check alpha doesn't go below 0
    alpha = 5;
} else {
    if(alphaB < alpha) {
        alpha += 10;
        alphaB += 10;
    } else if(alphaB > alpha) {
        alpha -= 10;
        alphaB -= 10;
    }
}
4

1 回答 1

0

使用 保持计数器long,取模,您不必担心溢出,因为它每秒会增加 60,并且您的代码需要运行数292471208678年才能溢出。

long alphacntr = 0;
....
public void update(){
alphacntr += 3;
int alpha = alphacntr%256;
....
}
于 2013-09-13T10:47:43.067 回答