- ベストアンサー
手前から奥に回転するフラッシュ
このサイトのようなカードが手前から奥へ回転するフラッシュを探しています。 (なおかつずっと回転しておいてほしいです。) http://www.41fp.com/ 無料でダウンロードできるところはないでしょうか? flashkit等で探しているのですがなかなかでてきません。 http://www.flashkit.com それともこれはMooRevolverというので作る事は可能ですか? その場合は後ろの画像をぼかすということはできるのでしょうか? よろしくお願いいたします。 手持ちのソフトはFLASH CS3です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
#1です。 > (なおかつずっと回転しておいてほしいです。) ここを読ませてもらって ただ単にずっと回転しているだけでしたら簡単(回答しやすい)と思い, 以下を考えてみました。 設定が ActionScript 3.0 の Flash CS3 ドキュメントのステージ上に 絵または写真が7枚あったとします。 絵または写真の大きさは適当で良いですが, 一応,横:120px 縦:180px 辺りを想定しています。 その7枚の絵または写真を,個別に7つのMC(ムービークリップ)に変換します。 MCに変換するときに,基準点が中央になるように設定してMCに変換します。 変換した7つのMCにはそれぞれ 「card0」「card1」「card2」「card3」「card4」「card5」「card6」 というインスタンス名を付けます。 それらMCのあるレイヤーとは別にスクリプトを記述する用のレイヤーでも挿入します。 ※参考【図】↓ そのスクリプト用のレイヤーのフレーム1に書く(コピペする), ActionScript 3.0 のスクリプト例です↓。 //================================= //カードの枚数の設定 var crd_n:int = 7; //回転の中心座標の設定 var cnt_x:Number = 250; var cnt_y:Number = 150; //回転半径の設定 var rtt_r:Number = 180; //偏平率の設定 var rat_y:Number = 4 / 10; //回転スピードの設定(例:100分の1周ずつ) var spd:Number = 1 / 100; //遠くのカードのボケ度合いを設定 var blr = 15; //---以上が変更する設定--------- //回転する周数の初期化 var rtt_s:Number = 0; for (var i:int=0; i<crd_n; i++) { this["filter" + i] = new BlurFilter(10,10,BitmapFilterQuality.MEDIUM); } //毎フレーム時間で関数rotateCardを実行 this.addEventListener(Event.ENTER_FRAME, rotateCard); //関数rotateCardの定義 function rotateCard(e:Event=null):void { //各カードの位置と大きさを算出 for (var i:int=0; i<crd_n; i++) { this["card" + i].x = Math.cos((2*Math.PI/crd_n)*i+rtt_s*Math.PI)*rtt_r+cnt_x; this["card" + i].y = Math.sin((2*Math.PI/crd_n)*i+rtt_s*Math.PI)*rtt_r*rat_y+cnt_y; var rdc:Number = (Math.sin((2*Math.PI/crd_n)*i+rtt_s*Math.PI)+4)/5; this["card" + i].scaleX = this["card" + i].scaleY = rdc; this["filter" + i] .blurX =this["filter" + i] .blurY = (1-rdc)*blr; this["card" + i].filters = [this["filter" + i]]; } //表示順序を変えるための配列を作成 var dps_arr:Array = new Array(); //配列の各要素に オブジェクト{MC,MCのy座標} を代入 for (i=0; i<crd_n; i++) { dps_arr[i] = {mc:this["card" + i],mc_y:this["card" + i].y}; } //MCのy座標 をキーにして配列の要素をソート dps_arr.sortOn("mc_y",Array.NUMERIC); //各カードの表示順を指定 for (i=0; i<crd_n; i++) { this.setChildIndex(dps_arr[i].mc, i); } // //回転周数にspdの値を加算 rtt_s += spd; } //関数rotateCardを即実行 rotateCard(); //================================= 一旦,何も考えずパブリッシュしてみます。 そして 配置場所やその他色々なものが変であれば(作りたいものは人によって違うので普通は変だと思う), //---以上が変更する設定--- よりも上の数値を変更してもらうと, ある程度のことがカスタマイズできると思います。 Math.PI(パイ(π)) は,中学数学(小学算数?)くらいで出てくる円周率です。 sin(サイン),cos(コサイン)は,高校の数学で出てくる三角関数です。 また Math.sin() や Math.cos() の () 内に入れる引数は,弧度(radian)です。 この辺も高校数学で習うはずです。 少なくともこの辺の数学を理解していないと, ActionScript をいくら説明しても内容の理解は不可能だと思います。 一応, ActionScript や 数学の理解は不可能でも //---以上が変更する設定--- より上を変えることによって使えるようにしたつもりです。 ちなみに関係ありませんが スクリプト中に出てくる「BlurFilter(ぼかしフィルター)」は, 私の名(BlurFiltan)の由来となっています。 Flash 8 で 「BlurFilterクラス」 が登場して感動したのでこれを捩った名にしました。 (今まで薄っペラだった Flash で空気感が表現できるようになったー!! と感動した。) (情緒 とか 風情 とかも表現しやすくなった。)
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
「くるくるウィジット」とかいう変な言葉を軸に検索すると いくつかの例が見つかるかもしれません。 検索例 「くるくるウィジット Flash」 http://www.google.co.jp/search?q=%e3%81%8f%e3%82%8b%e3%81%8f%e3%82%8b%e3%82%a6%e3%82%a3%e3%82%b8%e3%83%83%e3%83%88+Flash 「ActionScript 3.0 くるくるウィジット」 http://www.google.co.jp/search?q=ActionScript+3.0+%e3%81%8f%e3%82%8b%e3%81%8f%e3%82%8b%e3%82%a6%e3%82%a3%e3%82%b8%e3%83%83%e3%83%88