在我的Java游戏中,我有一个名为update()的方法,每秒调用约60次。
有了这个,我每次调用时都会为颜色的alpha值加3。但是,我希望它继续添加,然后当它达到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;
}
}
答案 0 :(得分:0)
使用long
保留计数器,取模数,您不必担心溢出,因为它会增加每秒60,并且您的代码需要在溢出之前运行292471208678
年。
long alphacntr = 0;
....
public void update(){
alphacntr += 3;
int alpha = alphacntr%256;
....
}