|
var pt:Array; //それぞれの塵の位置 var hankei1, hankei2:Number; //掃除機の内半径と外半径
[setup, 800, 600]{ hankei1 = 100; //内半径を決める hankei2 = 200; //外半径を決める
//それぞれの塵の位置を決める(画面上にまんべんなく) pt = new Array(); for(var i=0; i < 50; ++i){ pt[i] = new point(random()*monitorWidth, random()*monitorHeight); } }
[paint]{ clearAll(); //画面をクリアして //掃除機を描く setAlpha(20); setColor(0, 0, 0); fillOval(mouse, hankei2*2, hankei2*2); setAlpha(100); setColor(255, 255, 255); fillOval(mouse, hankei1*2, hankei1*2);
//それぞれの塵を描く setAlpha(100); setColor(255, 0, 0); for(var i=0; i < pt.length; ++i){ fillOval(pt[i], 4, 4); } }
//15秒間の最初の10秒は掃除機に吸い寄せられる [everyterm, 10, 15]{ for(var i=0; i < pt.length; ++i){ var dist = distance(pt[i], mouse); //塵とマウスとの距離を測って if(hankei1 < dist && dist < hankei2){ //内半径と外半径の間にあったら pt[i].push(dist*0.1, direction(pt[i], mouse)); //吸い取る } } }
//15秒間の最後の5秒間は塵は散らばる [everyterm, 5, 15, 10]{ for(var i=0; i < pt.length; ++i){ pt[i].push(random()*100, random()*3.14159*2); //あらゆる方向に飛ばす //壁に当たったらそこで止める if(pt[i].x < 0) pt[i].x = 0; if(pt[i].y < 0) pt[i].y = 0; if(pt[i].x > monitorWidth) pt[i].x = monitorWidth; if(pt[i].y > monitorHeight) pt[i].y = monitorHeight; } }
|