如果僅僅是這樣用,和開始那種方法比,除了顯得深?yuàn)W,實(shí)在是沒什么優(yōu)點(diǎn)了。不過我們想再進(jìn)一步做修改就容易了,剛才那個(gè)不要綠色,就可以: mycolor = new Color(this); mycolor.setRGB(random(255)<<16|random(128)<<8|random(255)); (區(qū)域4)
如果想得到紅色0xff0000和黃色0xffff00之間的顏色,因?yàn)榧t色和黃色之間只有g(shù)在改變,可以把r和b固定,僅僅random綠色: mycolor = new Color(this); mycolor.setRGB(255<<16|random(255)<<8|0); (區(qū)域5)
再比如不希望得到太深的顏色,只需要使random值不要太小,比如rgb三色加起來不小于384吧: mycolor = new Color(this); while (r+g+b<384) { r = random(255); g = random(255); b = random(255); } //默認(rèn)rgb都為0,循環(huán)執(zhí)行;如果rgb相加小于384,繼續(xù)random,直到r+g+b大于等于384 mycolor.setRGB(r << 16 | g << 8 | b); (區(qū)域6)