javascript - HTML5 Canvas 颜色帮助

标签 javascript html canvas

您好,我的变量中有这个简单的数组,其中包含一些颜色

var clr = ['#FF0000', '#0000FF', '#FFFF00', '#008000', '#FFA500', '#800080', '#ffffff'];

然后是一个函数,它应该在单引号中返回这些值之一

function colors() {
    var color;
    color = "'";
    color += Math.floor(Math.random() * clr.length);
    color += "'";
    return color;
}

然后调用这个函数来显示各种颜色的球

function CreateBall(x, y, vx, vy, r, s) {
    this.color = colors();
    this.x = x;
    this.y = y;
    this.vx = vx;
    this.vy = vy;
    this.r = r;
    this.size = s;
}

但是它不起作用?有什么想法吗?

要查看完整代码,请查看此处的源代码:http://dev.driz.co.uk/pool

最佳答案

目前,从 colors() 返回的值是一个类似于 "'#ffffff'" 的字符串。当实际应用此颜色值时,将在以下行中抛出语法错误:

122: gradient.addColorStop(.85, ball[i].color);

这可能是由于您将单引号括在返回的颜色中引起的——您不需要这样做,因为它已经是一个字符串值。您也永远不会真正从数组中提取值。将此用于您的 colors() 函数:

function colors() 
{
    return cls[Math.floor(Math.random() * clr.length)];
}

关于javascript - HTML5 Canvas 颜色帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4368341/

相关文章:

Java 图形全屏模式不注册键盘输入

javascript - Mobile Safari 上的 PWA 应用程序使用大量缓存?

javascript - 使用javascript检测选择结束位置

javascript - Canvas 调整图像对象大小并重复图案

c# - 使用 HtmlAgilityPack 解析 HTML 页面以按类选择 Divs

javascript - 使用纯 javascript 获取元素的尺寸和位置

javascript - getImageData 为 1 个像素返回 4 个值

javascript - 如何在指令中将元素推送到数组 - AngularJS

javascript - slider 在多个 div 中不起作用

javascript - AngularJS 表单中的下拉值未定义