アクションスクリプトを使って描画する三角形


  Share  
|


作成したカスタムmovieclip.drawtriangle ( )メソッドを使用して描画apiとされている、映画のクリップを呼び出します。

陰謀の頂点を決定することができ、与えられた三角形の二つの辺の長さと角度の間にしてください。 これは、より良いアプローチの長さの3つの側面を指定するための二つの辺の長さを知ると、かれらの間の角度を決定し、常に三角形が、任意の3つの側面を組み合わせるかもしれません三角形ます。

カスタムdrawtriangle ( )メソッドの6つのパラメータを受け付ける:

abの
の長さの側面に形成さaとbの間のポイント

交流
側の間の長さを形成するポイントとc

角度
角度(度)との間でabの両側に交流します。

ローテーション
三角形度回転しています。 もし0または未定義である場合、 x軸側のac類似します。

×
のx座標の重心(中心点)の三角形をします。

y
重心のy座標の三角形のです。

カスタムdrawtriangle ( )メソッドを定義してmovieclip.prototypeを利用できるようにすることのすべてのインスタンスをムービークリップ:

  / /含めるカスタムにアクセスするmath.degtorad ( )数学ライブラリです。  # include "にmath.as " 
  movieclip.prototype.drawtriangle =関数( abの、交流、角度、回転、 x 、 y )の( 
  / /の間の両側に変換する角度をラジアンから度にします。 角= math.degtorad (角) ; 
  / /変換して、回転の三角形をラジアンから度にします。 ローテーション= math.degtorad (ローテーション) ; 
  / / bのポイントの座標を計算およびcが挙げられる  var bx = math.cos (角-ローテーション) * a bの; v arされる= m ath.sin(角-ローテーション)* a bの; v a rにc x =m a th.cos(回転)*交流;サイva r=m a th.sin(回転) *交流; 
  / /重心の座標を計算します。  var centroidx = ( × + bx ) / 3 -× ; v arc entroidy= (サイ+される) / 3 - y; 
  / /するポイントに移動し、それから交流を描くライン、そしてライン銀行、そして最後に打率( abの)します。  this.moveto ( - centroidx 、 - centroidy ) ; this.lineto ( × -c entroidx、サイ- ce ntroidy); t h is.lineto(b x -c en troidx、-c e nt roidy);th i s .lineto(-ce n t roidx、-ce n t roidy);) 

この点については、いくつかの方法を使用してクマのさらなる議論があります。

ポイントのポイントは常にローテーションので、必要ありません。それは座標を計算します。 しかし、ポイントを算出する必要があるbとc (基本的な三角比を使用します) 。 私たちを定義b点の末尾にabのラインの角度で角をunrotated三角形をします。 ローテーション要因であることを差し引く角度からローテーションします。 私たち点cを定義するには、行の最後に交流します。 でunrotated三角形、点cはx軸と同じように点ではなく、ローテーション要因である必要があり角度から差し引くローテーションの間にラインac (およびそれ自体、これは、もちろん、 0 )します。 この私たちをリード:

  var bx = math.cos (角-ローテーション) * a bの; v arされる= m ath.sin(角-ローテーション)* a bの; v a rにc x =m a th.cos(回転)*交流;サイva r=m a th.sin(回転) *交流; 

重心のx座標を計算されるのは、三角形のx座標を追加すると、頂点の3つに分割されます。 y座標が見つかったのと似たようにします。 私たちのdrawtriangle ( )メソッドでは、一点の座標は常に( 0 、 0 )から、これを方程式の要因はありませんします。 私たちのxとyの減算入力してから重心座標を説明するために任意のユーザ定義のオフセット:

  var centroidx = ( × + bx ) / 3 -× ; v arc entroidy= (サイ+される) / 3 - y; 

ここでの例はどのようにしてdrawtriangle ( )メソッドを使用します。 まだ注意してください。行のスタイルを定義する前に、 drawtriangle ( )メソッドを呼び出しています。

  / /三角形を描くとの両側に100 、 200ピクセルと角度を30度です。  this.createemptymovieclip ( " triangle_mc " 、 1 ) ; triangle_mc.linestyle ( 1 、 x000000 、 100 ) ; / / 1つのピクセルを使用し、黒、固体の国境triangle_mc.drawtriangle ( 100 、 200 、 30 ) ; 
これは、記事を追加したエリスfrugalo

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions