【问题标题】:Flash Alpha Value of Color颜色的 Flash Alpha 值
【发布时间】:2013-09-13 10:35:15
【问题描述】:

在我的 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;
    }
}

【问题讨论】:

    标签: java alpha


    【解决方案1】:

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

    long alphacntr = 0;
    ....
    public void update(){
    alphacntr += 3;
    int alpha = alphacntr%256;
    ....
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-26
      • 1970-01-01
      相关资源
      最近更新 更多