javascript - 如何改变球每次从墙上弹起的颜色?

标签 javascript html css html5-canvas

刚看到这个问题 ball bounce 在搜索一些 JavaScript 代码时。它的代码很简单,但是如果我们想在每次球从墙上反弹时随机改变球的颜色,该怎么办。

我的想法:

有一个随机颜色生成器并使用它。像这样

function get_random_color() {
    var letters = 'ABCDE'.split('');
    var color = '#';
    for (var i=0; i<3; i++ ) {
        color += letters[Math.floor(Math.random() * letters.length)];
    }
    return color;
}

但是如何改变小球的颜色。我尝试了 context.fill() 但没有帮助

最佳答案

应该像球撞墙时调用函数一样直接,像这样

function myFunction() {
    var context;
    var dx = 4;
    var dy = 4;
    var y = 150;
    var x = 10;
    var color = get_random_color();

    function draw() {
        context = myCanvas.getContext('2d');
        context.clearRect(0, 0, 400, 400);
        context.beginPath();
        context.fillStyle = color;
        context.arc(x, y, 10, 0, Math.PI * 2, true);
        context.closePath();
        context.fill();
        if (x < 0 || x > 400) {
            dx = -dx;
            color = get_random_color();
        }
        if (y < 0 || y > 300) {
            dy = -dy;
            color = get_random_color();
        }
        x += dx;
        y += dy;
    }
    setInterval(draw, 10);
}

FIDDLE

关于javascript - 如何改变球每次从墙上弹起的颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30673020/

相关文章:

jquery - 如何在 iframe 中获取叠加元素

css - 开关按钮透明悬停效果

javascript - Uncaught ReferenceError : Jquery is not defined in salesforce

javascript - 更改 url 结尾以反射(reflect)当前月份的脚本 Ex 04/01/2019

php - 使用谷歌浏览器的 php 包含奇怪的 javascript 行为

Html css IE7 内联 block

javascript - html5 msie javascript 让 DOM 处理在 MSIE 中工作

JavaScript, fancybox 画廊

javascript - 在 javascript 上运行 matlab 代码

javascript - href ="tel:"不适用于 ionic 3