文字列の円運動3(螺旋の表現)‐Papervision3Dのお勉強(11)‐

| カテゴリ:ActionScript

※外部ライブラリ学習シリーズの目次はこちらです。
※使用している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)‐へ。

概要

青春B運営メンバー多口カタンによる雑記blogです。
自己紹介はこちら。開発物をまとめたものはこちら
 
ヘッダーイラストはkojiさん制作です。
感想・意見・要望等ありましたら気軽にフォームにてコンタクトくださいませ。
 
Twitterはじめましたので誰でも気軽に声かけてくださいね。