首页
学习
活动
专区
圈层
工具
发布

模拟雨
EN

Stack Overflow用户
提问于 2012-07-02 14:45:45
回答 5查看 6.9K关注 0票数 10

我正在用java制作一个游戏,我想要创建一个云的模拟,它正在倾盆大雨。下雨时,云层应该向右移动。移动云是没有问题的。这是我一直在挣扎的雨。

我想做的是用计时器画一个矩形,看起来就像云中随机的x值下的雨点。然后每100毫秒将1加到滴的y值。但是我不想为每个雨滴创建100个不同的矩形,x变量和y变量。

知道我怎么能做到这一点吗?谢谢你的建议!

这是一场2d的比赛。抱歉的。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-02 14:59:00

我建议只将值存储为对象的ArrayList。

代码语言:javascript
复制
class Raindrop {
    private int x;
    private int y;

    public void fall() {
        y--;
    }
}

然后使用泛型类型创建一个ArrayList。

代码语言:javascript
复制
ArrayList<Raindrop> drops = new ArrayList<Raindrop>();

每一滴水都要掉下来,

代码语言:javascript
复制
for (int i=0; i<drops.length(); i++) {
    drops.get(i).fall();
}
票数 2
EN

Stack Overflow用户

发布于 2012-07-02 14:51:22

一种方法是在剧院里考虑一个广场。你采取了一系列灯泡,通过照明和熄灭它们的顺序,你可以模拟直线运动。

同样地,为什么不创造雨滴和动画他们的运动,为什么不创造多个雨滴是看不见的,并显示和隐藏它们的顺序,以模拟向下的运动。然后,您将有一系列表示雨滴轨迹的数组,您只需循环一遍,隐藏当前的数组,递增数组指针并显示该指针。

票数 3
EN

Stack Overflow用户

发布于 2012-07-02 14:55:22

这是一个要求雨滴的程序吗?传统上,这是用几个雨精灵,你放置在云层和动画,使它看起来像雨正在落下。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11295986

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档