【发布时间】:2014-03-18 19:00:01
【问题描述】:
我正在尝试编写以下逻辑的方法:
我有 3 个整数,r、g 和 b。
开头:
r = 255;
g = 0;
b = 0;
现在你可以看到,r 是 255,现在 g 应该也一个一个上升,直到达到 255
r = 255;
g = 255;
b = 0;
所有三个整数一起构成一种颜色。第一个是红色的,现在是黄色的。不是它应该变成绿色,所以 r 应该减小直到只有 g 为 255:
r = 0;
g = 255;
b = 0;
下一个颜色应该是青色,以此类推。
这是顺序:
red - yellow - green - cyan - blue - violet - red
--> 从头开始。
我尝试通过使用 if 方法来实现这一点:
e.g.: if(r == 255 && g == 0) g++;
等等。 ,但我意识到这将是漫长而复杂的。
有人对如何循环颜色有其他想法吗?
我的目标是在每次更新时更改方形对象的颜色:
public void update() {
-->color change code here<--
color = new Color(r, g, b, alpha);
}
所以每次调用更新方法(全部 5 毫秒)时,都会调用代码。
有什么想法吗?
【问题讨论】:
-
您想从一种颜色逐渐过渡到另一种颜色,对吧?也许您可以创建一大堆硬编码的
Color对象。它将只有 1500 个元素长,左右:-)
标签: java algorithm colors cycle