PhysicalPointクラス(2)

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

PhysicalPointクラス」を利用して、「マウスを追いかける2つのターゲット」みたいなものを作ってみた。

FLASH PLAYER

Get Adobe Flash player

【製作過程】

 ターゲットになるMCを用意して、リンケージ設定(識別子:target)。タイムライン弟1フレームに以下のコードを記述。flaファイルと同階層に「PhysicalPoint.as」を設置。

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 pt1:PhysicalPoint=new PhysicalPoint(Stage.width/2,Stage.height/2,0.9);
var pt2:PhysicalPoint=new PhysicalPoint(Stage.width/2,Stage.height/2,0.9);

function loop():Void{
 pt1.setKasokudo((_root._xmouse-pt1.x)*10,(_root._ymouse-pt1.y)*10);
 pt2.setKasokudo((pt1.x-pt2.x)*10,(pt1.y-pt2.y)*10);
 syoki1={_x:pt1.x,_y:pt1.y};
 syoki2={_x:pt2.x,_y:pt2.y};
 var target1:MovieClip=_root.attachMovie("target","target1",1,syoki1);
 target1.filters=[param];
 var target2:MovieClip=_root.attachMovie("target","target2",2,syoki2);
 target2.filters=[param];
}
setInterval(loop,33);

今度は2つのターゲットを線で結んでみる。

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 pt1:PhysicalPoint=new PhysicalPoint(Stage.width/2,Stage.height/2,0.9);
var pt2:PhysicalPoint=new PhysicalPoint(Stage.width/2,Stage.height/2,0.9);
var pt3:PhysicalPoint=new PhysicalPoint(Stage.width/2,Stage.height/2,0.9);

function loop():Void{
 clear();
 pt1.setKasokudo((_root._xmouse-pt1.x)*10,(_root._ymouse-pt1.y)*10);
 pt2.setKasokudo((pt1.x-pt2.x)*10,(pt1.y-pt2.y)*10);
 pt3.setKasokudo((pt2.x-pt3.x)*10,(pt2.y-pt3.y)*10);
 syoki1={_x:pt1.x,_y:pt1.y};
 syoki2={_x:pt2.x,_y:pt2.y};
 syoki3={_x:pt3.x,_y:pt3.y};
 var target1:MovieClip=_root.attachMovie("target","target1",1,syoki1);
 target1.filters=[param];
 var target3:MovieClip=_root.attachMovie("target","target3",3,syoki3);
 target3.filters=[param];
 _root.moveTo(pt1.x,pt1.y);
 _root.lineStyle(1,0xFFFFFF);
 _root.curveTo(pt2.x,pt2.y,pt3.x,pt3.y);
}
setInterval(loop,33);

実際に動いているのは、target1とtarget3で、target2のxy座標(pt2.xとpt2.y)は、コントロールポイントに設定している。

トラックバック(0)

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

コメントする

このブログ記事について

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

ひとつ前のブログ記事は「SpinTextクラス」です。

次のブログ記事は「GlowFilter」です。

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