【发布时间】:2015-10-19 16:15:11
【问题描述】:
我喜欢五彩变化的文字,我列出了所有颜色的列表
我有 5 个 g.drawString();正在运行的函数,它们中的每一个都应该是列表中的下一个颜色(一个在一个之上)。
private Color[] colors = new Color[12];
然后在我的构造函数中:
colors[0] = new Color(255, 0, 0);
colors[1] = new Color(255, 127, 0);
colors[2] = new Color(255, 255, 0);
colors[3] = new Color(127, 255, 0);
colors[4] = new Color(0, 255, 0);
colors[5] = new Color(0, 255, 127);
colors[6] = new Color(0, 255, 255);
colors[7] = new Color(0, 127, 255);
colors[8] = new Color(0, 0, 255);
colors[9] = new Color(127, 0, 255);
colors[10] = new Color(255, 0, 255);
colors[11] = new Color(255, 0, 127);
如何让每个字母变成不同的颜色?
Set The Color: g.setColor(Color object);
Example: g.setColor(colors[5]);
Write Text: g.drawString(String, x, y);
Example: g.drawString("S", 200, 300);
所以,我希望 S 为颜色,colors[0],我在下面做了一个表格:
Starting | First | Second | Fifth
S -- 0 11 10 7
N -- 1 0 11 8
A -- 2 1 0 9
K -- 3 2 1 10
E -- 4 3 2 11
所以它会通过每种颜色循环:
我尝试为此创建一个函数,我删除了代码,因为我是一个白痴-_-
在我的主类中,我有一个调用tick 和render 方法的游戏循环,先tick 然后渲染。
我有一个名为 STATE 的枚举,其中包含菜单和游戏,然后将 state 类型的变量 gameState 设置为 STATE.menu
public enum state {
Menu,
Game,
}
public state gameState = state.Menu;
当gameState等于STATE.menu时,它会调用menu.render(g(
每个类都有自己的渲染和刻度方法。 -Tick 方法,用于设置变量等,if 语句,yada yada yada -render 方法,与绘制像素有关的任何事情
因为tick方法每0.0000000000000000001秒调用一次,所以颜色每百万分之一秒变化一次,看起来很呆板。
所以我需要一个可以用变量配置的计时器
我希望每个字母都是不同的颜色,在列表中一个接一个 不明白的可以参考上表作为例子,
the letter a should be colors[0]
and then b, colors[1]
and c, colors[2]
颜色应该改变,
so a would be colors[2]
so b would be colors[0]
so c would be colors[1]
我可能对1001件事不清楚,所以请在cmets中对我大喊大叫^-^
感谢阅读!
【问题讨论】:
-
到目前为止做得很好。你的问题是什么?这只是您所做工作的清单。
-
你能把你的问题更简洁吗?一个问题似乎有多个问题。
-
“因为 tick 方法每 0.0000000000000000001 秒调用一次” - 哇,你不喜欢你的用户...
-
@MadProgrammer 嘿,现在,五分之一秒是一个完全合理的更新时间:P
-
我不明白这个问题?
标签: java arrays list graphics colors