2017-10-19 49 views
0

大家好希望你一切安好如何随机的xhouse

我有问题,我不知道如何使用随机的,这样我每次创建的房子里,我刷新页面X位置变化,使房子出现在不同的X中。

谢谢

这是我的代码;

var floorPos_y; 
var xhouse; 
var yhouse; 


function setup() { 

    createCanvas(1000, 755); 
    floorPos_y = height * 3/4; //NB. we are now using a variable for the floor position 

    xhouse = 0; 
    yhouse = 0; 

    var xhouse = random(100, width); 

} 


function draw() { 


    background(100, 155, 255); //fill the sky blue 

    // House Code 
    //xhouse = 30; 

    yhouse = 366; 


    noStroke(); 
    fill(255); 
    text("house", 100, height * 0.6); 
    fill(255, 0, 0); 
    rect(xhouse, yhouse, 180, 200);//main body of the house 
    fill(165, 42, 42); 
    triangle(xhouse, yhouse, xhouse + 90, yhouse - 116, xhouse + 180, yhouse);// tope of the house 
    fill(255, 255, 220); 
    rect(xhouse + 5, yhouse + 24, 55, 60); 
    rect(xhouse + 110, yhouse + 24, 55, 60); 

    fill(0, 0, 230); 
    rect(xhouse + 60, yhouse + 114, 50, 80); 
    fill(255, 255, 30); 
    ellipse(xhouse + 100, yhouse + 164, 13, 13); 


} 

function mousePressed() { 
    xposition = mouseX 
    yposition = mouseY 
} 
+0

当你运行这段代码时会发生什么? –

+0

我刚刚发现这是我的错误,谢谢。 –

回答

0

请尝试正确格式化您的代码。现在很难阅读。也请尽量调试代码:我想打印出的xhouse值开始尝试在draw()功能使用前:

console.log("xHouse: " + xhouse); 

这会告诉你,xhouse是不确定的,这是一个非常大提示。

以你xhouse变量仔细一看,你可能会发现你声明一个在草图的顶部命名xhouse变量:

var xhouse; 

到目前为止好。然后在setup()功能,你宣布另一命名xhouse,并设置其值为变量:

var xhouse = random(100,width); 

但是要注意,因为你正在使用的var关键字,这是创造比不同变量在草图顶部的那个。草图顶部的变量仍然没有任何价值。换句话说,它的值是undefined

解决您的问题,您需要声明变量在草图的顶部,然后初始化setup()函数的变量。换句话说,在setup()功能摆脱了var关键字:

xhouse = random(100,width); 

如果您有其他问题,请尝试通过打印出您所使用的变量的值来调试问题。祝你好运。