アクションスクリプトを使って描画する三角形
作成したカスタムmovieclip.drawtriangle ( )メソッドを使用して描画apiとされている、映画のクリップを呼び出します。 陰謀の頂点を決定することができ、与えられた三角形の二つの辺の長さと角度の間にしてください。 これは、より良いアプローチの長さの3つの側面を指定するための二つの辺の長さを知ると、かれらの間の角度を決定し、常に三角形が、任意の3つの側面を組み合わせるかもしれません三角形ます。 カスタムdrawtriangle ( )メソッドの6つのパラメータを受け付ける: abの 交流 角度 ローテーション × 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
|
|||
|