• 締切済み

ActionScript3.0にて描画させたい!

2秒ほどかけて次の描画を実現させたいのでお力下さい! 真っ白の画面があり、(円形のマスクでロゴの全体が隠れているというイメージ。) 真下から両側に弧を描きながらロゴが見えてくる。(円形のマスクがロゴの中心を軸に真 下から上に開いていくイメージ) というものです。 言葉で表現するのがむずがしいのですが、 as初心者です。 現在はフレームアニメーションで(48フレーム分の絵を描いて)対応しましたが、 データが重いうえ、秒数の調整で融通が効かず大変です。 asで対応が出来るものならぜひ、この機会に触れておきたいと思い質問をさせて頂 きました。よろしくお願い致します。

みんなの回答

noname#129900
noname#129900
回答No.3

#1 > trace( ''+e.target.currentCount ); > という部分にエラーがでますが、なぜでしょうか? > 何度もすみません。よろしくお願い致します。 タイマーのイベントをトレースしているだけなので、 動かないのであれば、コメントアウトするなり削除するなりしてください。 また、参考URLのマニュアルをみながら、 提示したコードをたたき台にし、目的にあったコードに書き換えて下さい。

metasekoiya
質問者

お礼

大変勉強になりました。ありがとうございます。 何度もご質問してすみませんでした。 これをキッカケにして、ASをしっかり勉強させて頂きます。 本当にありがとうございました。

noname#129900
noname#129900
回答No.2

#1 タイマークラスのインスタンス名を間違えていました。 cmaskというのはマスクの名前なので、 var tm:Timer = new Timer( 1000, 60 ); といった感じにしてください。 あとは、cmask.y 以外の cmask を tm に置き換えてください。 お手数おかけします。

metasekoiya
質問者

補足

trace( ''+e.target.currentCount ); という部分にエラーがでますが、なぜでしょうか? 何度もすみません。よろしくお願い致します。

noname#129900
noname#129900
回答No.1

既にオーサリングツール上に、ロゴとマスクがあるので、 それに名前がついていればasで操作できます。 マスクの移動制御には、Timer, TimerEventクラスを使用します。 // フレームに記述 // Y軸の移動量 var y_mvnum = 5; // cmask : マスクにつけた名前 cmask = new Timer( 1000, 60 ); // 時間は調整する事 cmask.addEventListener( TimerEvent.Timer, TMHandler ); cmask.addEventListener( TimerEvent.Timer_COMPLETE, CompleteTMHandler ); cmask.start(); // タイマー始動中ハンドラ function TMHandler( e:TimerEvent ):void { cmask.y -= y_mvnum; trace( ''+e.target.currentCount ); } // タイマー終了ハンドラ function CompleteTMHandler( e:TimerEvent ):void { cmask.removeEventListener( TimerEvent.Timer, TMHandler ); cmask.removeEventListener( TimerEvent.Timer_COMPLETE, CompleteTMHandler ); trace( 'complete' ); }

参考URL:
http://livedocs.adobe.com/flash/9.0_jp/ActionScriptLangRefV3/flash/utils/Timer.html
metasekoiya
質問者

補足

早速の回答ありがとうございます。 勉強不足で大変恐縮なのですが、 エラーが出ます。なぜでしょうか? マスクにはcmaskと名前を付けましたが、上手くいきません。 どうかよろしくお願い致します。

関連するQ&A

専門家に質問してみよう