point p[] = new point[150]; double b[] = new double[p.length]; double c[] = new double[p.length]; double oku[] = new double[p.length]; double kazedist, kazedire; point bgr, bgg, bgb; double bb, cc; //�T���v�� [setup, 300, 300]{ for(int i = 0; i < p.length; i ++){ p[i] = point(-50 + (monitorWidth + 100) * Math.random(), monitorHeight * Math.random()); oku[i] = Math.random(); b[i] = 10 + 20 * oku[i]; c[i] = Math.PI / 2; } bgr = point(180, 0); bgg = point(180, 0); bgb = point(230, 0); } [interval, 8.5, 12]{ setBackColor(255, 255, 0); } [interval, 10.5, 12]{ setBackColor(255, 255, 0); } [paint]{ clearAll(); if(255 < bgr.x) bgr.x = 255; if(255 < bgg.x) bgg.x = 255; if(255 < bgb.x) bgb.x = 255; if(bgr.x < 0) bgr.x = 0; if(bgg.x < 0) bgg.x = 0; if(bgb.x < 0) bgb.x = 0; setBackColor(bgr.x, bgg.x, bgb.x); setColor(240, 240, 240); for(int i = 0; i < p.length; i ++){ drawLine(p[i].x, p[i].y + 5 + 5 * oku[i], p[i].x, p[i].y - 5 - 5 * oku[i]); } } [interval, 6, 12]{ for(int i = 0; i < p.length; i ++){ b[i] = 40 + 20 * oku[i]; } } [interval, 0, 12]{ for(int i = 0; i < p.length; i ++){ b[i] = 10 + 20 * oku[i]; } } [everyTerm, 6, 12, 6]{ bb = bgr.distanceTo(40, 10); cc = bgr.directionTo(40, 10); bgr.push(bb / 10., cc); bb = bgg.distanceTo(40, 10); cc = bgg.directionTo(40, 10); bgg.push(bb / 10., cc); bb = bgb.distanceTo(240, 10); cc = bgb.directionTo(240, 10); bgr.push(bb / 10., cc); } [everyTerm, 6, 12, 0]{ bb = bgr.distanceTo(180, 10); cc = bgr.directionTo(180, 10); bgr.push(bb / 10., cc); bb = bgg.distanceTo(180, 10); cc = bgg.directionTo(180, 10); bgg.push(bb / 10., cc); bb = bgb.distanceTo(240, 10); cc = bgb.directionTo(240, 10); bgr.push(bb / 10., cc); } [always]{ for(int i = 0; i < p.length; i ++){ p[i].push(b[i], c[i]); kazedist = distance(preMouseX, preMouseY, mouseX, mouseY); kazedire = direction(preMouseX, preMouseY, mouseX, mouseY); p[i].push(kazedist / 3., kazedire); if(monitorHeight + 20 < p[i].y){ p[i].x =-50 + (monitorWidth + 100) *Math.random(); p[i].y = -20; } } }