首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >javascript项目和数组的问题(让它下雨)

javascript项目和数组的问题(让它下雨)
EN

Stack Overflow用户
提问于 2017-12-16 08:58:25
回答 1查看 1.7K关注 0票数 1

我是新来的。我正在上可汗学院的编程课程(主要是javascript),我有点困在一个项目上。这是一个名为Make it rain的挑战,你应该让雨滴落在画布上,然后重新设置到顶部。使用数组,我设法让水滴在随机位置生成并在画布上落下,但由于使用了数组,让它们在顶部重新启动时遇到了困难。很抱歉这么长的文本;下面是我的代码:

代码语言:javascript
代码运行次数:0
运行
复制
var dropX = [40];
var dropY = [0];
var snowX = [40];
var speed = 1.5;
var ex = 0 ;
var i = 0;
var fall = dropY[i];
noStroke(); 


var rain = function (){ 

 var fall = dropY[i];    
 var ok = dropX.length;     
for(var i = 0; i<100; i++) {

    if (fall<2100){
    background(192, 224, 237);
    fill(23, 123, 143);
    ellipse(dropX[i],dropY[i],5,5);
    fill(224, 213, 213);
    rect(snowX[i],dropY[i],5,5);
    dropY[i]+=speed;
    dropX.push(random(0,400)); 
    dropY.push(random(-1650,0)); 
    snowX.push(random(0,400));
}

}
for (i = 0;i<100; i++)    {
    i++;
    fill(45, 136, 189);
    ellipse(dropX[i],dropY[i],5,5);
    fill(255, 255, 255);
    rect(snowX[i],dropY[i],5,5);
}};

draw = function() {
rain();


};

https://www.khanacademy.org/computer-programming/spin-off-of-project-make-it-rain/5960057721651200

据我所知,可汗学院的代码编辑器使用的是processing.js。感谢您的帮助和建议!!

EN

回答 1

Stack Overflow用户

发布于 2017-12-16 09:10:37

下面这几行:

代码语言:javascript
代码运行次数:0
运行
复制
var dropX = [40];
var dropY = [0];
var snowX = [40];

所有创建的数组大小均为1。dropX[0]snowX[0]的值均为40dropY[0]的值为0

此外,你的循环是从0100,而不是40

这将正确初始化您的数组:

代码语言:javascript
代码运行次数:0
运行
复制
var dropX = [];
var dropY = [];
var snowX = [];
var i;

for(i = 0; i < 100; i++) {
  dropX[i] = 40;
  dropY[i] = 0;
  snowX[i] = 40;
}

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

https://stackoverflow.com/questions/47841589

复制
相关文章

相似问题

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