Math.Random绘制图像

时间:2015-04-25 19:57:28

标签: javascript html5 html5-canvas

我正在尝试使用Math.random绘制图像。

虽然我知道我没有做对。

我知道我需要一个循环来完成Math.random函数,但不知道如何实现它。我也知道我的spawnRock功能不正确,但不知道如何解决它。有什么帮助吗?

此代码也会破坏我当前的drawImages。

        var num;

        function mathRock() {
            var x = Math.floor((Math.random() * 10) + 1);
            document.getElementById("num").innerHTML = x;
            }

        function spawnRock() {
        if (num = 2, 4, 8){ 
            context.drawImage(rock, 1500, 450);
            } else {
                }

        var rock = new Image();
        rock.src = "rock.png";

2 个答案:

答案 0 :(得分:1)

以下是Math.random

的快速入门读物

Math.random() * X将在零到(但不包括)X之间生成随机浮点数。因此Math.random*10将生成0.22,1.56,7.92最高为9.9999999999。

如果你需要随机整数,你可以用parseInt( Math.random()*10 )去除随机数的非整数部分,这将生成0,1,2,3,4,5, -6,7,8,9-。

如果您只想要一个随机“硬币翻转”(真或假),您可以这样做:

var randomTrueFalse=(Math.floor(Math.random()*2)==0);

如果你需要在10次中随意做一些事情那么你可以这样做:

var thirtyPercentSuccess=( (Math.random()*10-7)>=0 );

然后使用您想要的随机数版本来选择是否绘制或执行其他操作:

if (thirtyPercentSuccess){ 
    context.drawImage(rock, 1500, 450);
}else{
    // something else
}

答案 1 :(得分:0)

mathRock工作正常,但我想您应该xnum变量num = x,然后在spawnRockif条件更改为{{} 1}}因为num == 2 || num == 4 || num==8==用于比较,===用于分配。