APEのSpringConstraint

  • 2008 年 5月 21 日
  • kosuke

SpringConstraintクラス。バネのようなシュミレーションに使えます。


SpringConstraintクラスは二つの粒子を繋ぐバネのような設定を作れます。

サンプル

This movie requires Flash Player 10.0.0
 

■SpringConstraint(p1:AbstractParticle, p2:AbstractParticle, stiffness:Number = 0.5, collidable:Boolean = false, rectHeight:Number = 1, rectScale:Number = 1, scaleToLength:Boolean = false)

バネを設定します。

p1:AbstractParticle = バネの最初に接続する粒子。
p2:AbstractParticle = バネの最後に接続する粒子。

stiffness:Number = バネの剛性。0から1の間設定します。0に近づくほど柔らかくなります。
collidable:Boolean = バネ自体を衝突の対象とするかどうか。trueだと衝突します。falseだと衝突しません。
rectHeight:Number = collidableがtrueの時、バネの太さを設定します。
rectScale:Number = collidableがtrueの時、粒子の中心点同士を結ぶバネの長さの割合を設定します。
・1だと中心点同士を結ぶ。0に近づく程中心点同士の中間地点に縮むようです。1より大きいとはみ出る。
scaleToLength:Boolean = collidableがtrueの時、バネの長さを変化させるかどうか。trueだとバネの長さが変化します。

 

・プロパティ

■angle:Number
二つの粒子の中心点が作る角度です。
・バネの角度。

■center:Vector
二つの粒子の中心点を結ぶ線の中心座標。
・バネの中心座標。

■collidable:Boolean
バネ自体を衝突の対象とするかどうか。trueだと衝突します。falseだと衝突しません。

■currLength:Number
二つの粒子の中心点を結ぶ線の長さ。
・バネの長さ。

■fixed:Boolean
固定された粒子同士を繋いだ場合、trueとなります。

■fixedEndLimit:Number
collidableがtrueの時、二つの粒子のうち、どちらかが固定されていた場合、バネへの衝突をどの位バネが処理するか。0から1の間で設定します。
・0だとすべて処理される。1だとまったく処理されない。(衝突が伝わらない)

■radian:Number
二つの粒子の中心点が作る角度のラジアンです。

■rectHeight:Number
collidableがtrueの時、バネの太さを設定します。

■rectScale:Number
collidableがtrueの時、粒子の中心点同士を結ぶバネの長さの割合を設定します。

■restLength:Number
バネの最小の長さ。

 

・メソッド

■init():void
定義したバネを親となるグループに追加しpaint()を実行することで描きます。

■isConnectedTo(p:AbstractParticle):Boolean
引数で渡した粒子がバネの端点いずれかに使われていたらtrueを返します。

p:AbstractParticle = 粒子。

■paint():void
バネを描きます。

■setCollidable(b:Boolean, rectHeight:Number, rectScale:Number, scaleToLength:Boolean = false):void
collidable関連の設定を行います。

b:Boolean = collidableに設定するBoolean。
rectHeight:Number = rectHeightに設定する値。
scaleToLength:Boolean = scaleToLengthに設定するBoolean。
・コンストラクタから呼ばれています。

■setDisplay(d:DisplayObject, offsetX:Number = 0, offsetY:Number = 0, rotation:Number = 0):void
引数の値でDisplayObjectに追加します。

d:DisplayObject = 追加するDisplayObject。
offsetX:Number = DisplayObjectのx座標。
offsetY:Number = DisplayObjectのy座標。
rotation:Number = DisplayObjectのrotation。

APEのプロパティ、メソッドは全体的に内部で自動的に処理される意味合いのものが多いよです。それ為か追いかけて調べてるだけに、説明は怪しい箇所がいっぱい。
APE自体をカスタマイズする以外詳細を知っておく必要は無いように思います。

“APEのSpringConstraint” に コメントはありません

コメントをどうぞ