我正在用java制作一个游戏,我想要创建一个云的模拟,它正在倾盆大雨。下雨时,云层应该向右移动。移动云是没有问题的。这是我一直在挣扎的雨。
我想做的是用计时器画一个矩形,看起来就像云中随机的x值下的雨点。然后每100毫秒将1加到滴的y值。但是我不想为每个雨滴创建100个不同的矩形,x变量和y变量。
知道我怎么能做到这一点吗?谢谢你的建议!
这是一场2d的比赛。抱歉的。
发布于 2012-07-02 14:59:00
我建议只将值存储为对象的ArrayList。
class Raindrop {
private int x;
private int y;
public void fall() {
y--;
}
}然后使用泛型类型创建一个ArrayList。
ArrayList<Raindrop> drops = new ArrayList<Raindrop>();每一滴水都要掉下来,
for (int i=0; i<drops.length(); i++) {
drops.get(i).fall();
}发布于 2012-07-02 14:51:22
一种方法是在剧院里考虑一个广场。你采取了一系列灯泡,通过照明和熄灭它们的顺序,你可以模拟直线运动。
同样地,为什么不创造雨滴和动画他们的运动,为什么不创造多个雨滴是看不见的,并显示和隐藏它们的顺序,以模拟向下的运动。然后,您将有一系列表示雨滴轨迹的数组,您只需循环一遍,隐藏当前的数组,递增数组指针并显示该指针。
发布于 2012-07-02 14:55:22
这是一个要求雨滴的程序吗?传统上,这是用几个雨精灵,你放置在云层和动画,使它看起来像雨正在落下。
https://stackoverflow.com/questions/11295986
复制相似问题