文字列の円運動3(螺旋の表現)‐Papervision3Dのお勉強(11)‐
※外部ライブラリ学習シリーズの目次はこちらです。
※使用しているPapervision3DのバージョンはPublic Beta 2.0 - Great Whiteです。
前回、前々回と文字列の円運動について書きましたが、今回はさらにその応用として、螺旋運動をさせてみます。
つまり、円運動に高さの概念を加えます。
螺旋のパラメータ設定
まず、変数にて螺旋運動の周回数と螺旋の高さを決めておきます。
後ほど出てくるActionScriptのコードでは主に以下の部分が該当します。
-----------38〜39行目-----------
private var spiral_int:int = 3;//螺旋における周回数
private var height_int:int = 600;//螺旋高さ
初期角度の決定
円運動というのは0度〜360度の角度を持ちます。
ただ、今回は角度を0度〜1080度(0〜360×周回数)として扱います。
たとえば、720度という角度は2回転時点、900度という角度は2周半時点を意味します。
初期角度の決定は後ほど出てくるActionScriptのコードでは主に以下の部分が該当します。
-----------62行目-----------
degrees_arr.push(i * 360 * spiral_int / text_str.length);//角度を均等に分割
描画処理
現在の角度が上限である1080度に対してどこまで増えているかを元に高さを計算します。
また、1080を達した際には0に戻す式を加えます。
後ほど出てくるActionScriptのコードでは主に以下の部分が該当します。
-----------78行目-----------
text_arr[i].y = -1 * (height_int * degrees_arr[i] / (360 * spiral_int)) + basicy_int;
-----------91行目-----------
degrees_arr[i] %= 360 * spiral_int;
結果
"SEISYUN-B CREATIVE LIFE RECOMMENDATION "
という文字列が螺旋運動します。マウス位置によって全体の角度が変更されます。
ソース
ソースのダウンロードはこちらからどうぞ(flaファイルはasファイルをドキュメントクラス指定しているだけです)。
Papervision3Dについての学習はとりあえずこれで一段落かなと思っています。
次はどうしようかな……。
文字列の円運動2(表示物のネスト)‐Papervision3Dのお勉強(10)‐へ。