繁体   English   中英

HTML5 Canvas颜色帮助

[英]HTML5 Canvas color help

嗨,我的变量中有一些简单的数组,有一些颜色

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)];
}

这应该可以解决您的问题

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

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM