PhysicalPointクラス(3)

| コメント(0) | トラックバック(0)

PhysicalPointクラス(2)」で紹介したコードを、もう少し汎用的にしてみた。
変数「ball_num」の値を変更するだけで、ボールの数がいくらでも増える。

FLASH PLAYER

Get Adobe Flash player

以下、コード。

import flash.filters.GlowFilter;

var param:GlowFilter=new GlowFilter();
param.color=0x00FFFF;
param.alpha=0.9;
param.blurX=35;
param.blurY=35;
param.strength=5;
param.quality=3;
param.inner=false;
param.knockout=false;

var ball_num=10;//ballの数

var pt:Array=new Array();
for(var i:Number=0;i<ball_num;i++){
 pt[i]=new PhysicalPoint(Math.random()*Stage.width,Math.random()*Stage.height,0.9);
}
function loop():Void{
 for(var i:Number=0;i<ball_num;i++){
  if(i==0){
   pt[i].setKasokudo((_root._xmouse-pt[i].x)*10,(_root._ymouse-pt[i].y)*10);
  }else{
   pt[i].setKasokudo((pt[i-1].x-pt[i].x)*10,(pt[i-1].y-pt[i].y)*10);
  }
  var syoki:Object={_x:pt[i].x,_y:pt[i].y};
  var ball:MovieClip=_root.attachMovie("ball","ball"+i,i,syoki);
  ball.filters=[param];
 }
}
setInterval(loop,33); 

またしても、線でつなげてみた。

FLASH PLAYER

Get Adobe Flash player

以下、コード。

import flash.filters.GlowFilter;

var param:GlowFilter = new GlowFilter();
param.color = 0x00FFFF;
param.alpha = 0.9;
param.blurX = 35;
param.blurY = 35;
param.strength = 5;
param.quality = 3;
param.inner = false;
param.knockout = false;

var ball_num = 10;//ballの数
var pt:Array = new Array();
for (var i:Number = 0; i<ball_num; i++) {
 pt[i] = new PhysicalPoint(Math.random()*Stage.width/2, Math.random()*Stage.height/2, 0.9);
}

function loop():Void {
 clear();
 for (var i:Number = 0; i<ball_num; i++) {
  if (i == 0) {
   pt[i].setKasokudo((_root._xmouse-pt[i].x)*10,(_root._ymouse-pt[i].y)*10);
  } else {
   pt[i].setKasokudo((pt[i-1].x-pt[i].x)*10,(pt[i-1].y+10-pt[i].y)*10);
  }
  if(i%2==0){
   var syoki:Object = {_x:pt[i].x, _y:pt[i].y};
   var ball:MovieClip = _root.attachMovie("ball", "ball"+i, i, syoki);
   ball.filters = [param];
  }
 }
 _root.lineStyle(1,0xFFFFFF);
 _root.moveTo(pt[0].x,pt[0].y);
 for (var i:Number = 1; i<ball_num; i++) {
  if(i%2==0){
   _root.curveTo(pt[i-1].x,pt[i-1].y,pt[i].x,pt[i].y);
  }
 }
}
setInterval(loop,33);

トラックバック(0)

トラックバックURL: http://www.ayabin.jp/mt5/mt-tb.cgi/187

コメントする

このブログ記事について

このページは、webmasterが2009年8月 8日 09:37に書いたブログ記事です。

ひとつ前のブログ記事は「サインコサイン(5)」です。

次のブログ記事は「PhysicalPointクラス(4)」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。