はてなブログでpaper.jsのテスト2

paperscript部分の改行とタブを全て消したら、記事中にコード直接貼り付けて動作させることができた。

var paths = new Array();
for(var i= 0;i<7;i++){
	var circle  = new Path.Circle(new Point(i*50,50),30);
	circle.strokeColor = '#fff';
	circle.fillColor = new HsbColor(i*360/7,0.7,0.9,0.5);
	circle.strokeWidth = 4;
	circle.prescale = 1;
	paths.push(circle);
}


function onFrame( event ){
	for(var i= 0;i<7;i++){
		var sinValue  = Math.sin((event.count+i*5)/15);
		if(sinValue <= -0.95){
			paths[i].fillColor = new HsbColor(event.count+i*10,0.7,0.9,0.5);
		}
		var scale = ( sinValue+1.3)/2;
		paths[i].scale(scale/paths[i].prescale);
		paths[i].prescale = scale;
	}
//	console.log(event.count);
}

詰まった点など

  • はてなブログのプレビューではヘッダのjavscirptを読んでくれないようで、一旦公開しなければ本当に動作しているのか確かめられない。
  • 上記のプログラムのパラメータ調整で時間がかかった。この手のプログラムでは、色合いが気に入らないと延々と調整し続けることになる。
  • 円が一番小さくなった瞬間に色を変えるようにした。本当であればsinValueが-1になった時であるが、計算式の都合上-1になるかは保証できないので-0.95以下の時とした。