- ベストアンサー
ActionScriptのイベント処理で任意の時間遅らせて処理する方法
- ActionScript3.0でFLASHコンテンツを制作中の際、任意の秒数で処理を遅延させる方法を教えてください。
- ブラウザのリサイズに伴ってオブジェクトを位置移動させる処理を任意の時間後に行う方法を教えてください。
- http://www.duras.jp/ でブラウザをリサイズした際に後からオブジェクトが追従するような動きを実現する方法を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
stage.addEventListener(Event.RESIZE, resized); /*resizeされたら*/ function resized(e:Event):void { var timer:Timer = new Timer(2000, 1); timer.addEventListener(TimerEvent.TIMER, timerEnd); timer.start(); } /*timerで2秒後に*/ function timerEnd(e:TimerEvent):void { /*ここで色々と動かす*/ } 基本は上記のようで大丈夫だと思いますが、 TweenerやTweenMaxやTweensyを使うともっと楽です。 stage.addEventListener(Event.RESIZE, resized); /*resizeされたら*/ function resized(e:Event):void { /*画面の中心*/ var w:int = stage.stageWidth / 2; var h:int = stage.stageHeight / 2; /*イージング*/ TweenMax.killTweensOf(target); TweenMax.to(target, 1, {x:w, y:h, delay:2}); } TweenMaxだと上記の書き方でtargetが2秒後にxとyにセンターの値をいれ1秒で移動してくれるという事になります。killTweensOfというのは再度ステージがリサイズされた時にTweenされていたものをリセットするという意味ととらえてください。
その他の回答 (1)
- chika_008
- ベストアンサー率80% (20/25)
イージング設定ですと http://blog.greensock.com/tweenmaxas3/ 上記のページのBASIC PROPERTY TWEENING INTERACTIVE DEMOという ところでイージングのファンクションの確認ができます。 例として下記のようにeaseの後にイージング方式を設定する感じです。 TweenMax.to(mc, 1, {x:293, y:330, ease:Quart.easeInOut}); またカスタムのイージングやイージングの強弱などもつけれるみたいです。多分ここは必要ないと思うのですが色々機能的で使いやすいですね。 http://blog.greensock.com/customease/
お礼
細かいアドバイスありがとう御座います! 思っている通りのものができそうです。 色々とお世話になりました。 またご教授いただくことがあるかと思いますが、 その時は宜しくお願い申し上げます。
お礼
ご回答誠にありがとうございます。 TweenMaxを導入してみた所、理想としている動きができました。 TweenMaxではイージング設定もできるようなので設定したいと 考えておりますが、ネットで調べてもイージングの種類や使い方が詳細に 記載されているものが見つかりませんでした。 もしご存知でしたらご教授いただけませんでしょうか? 因みに、上記の指定秒数遅らせて移動したオブジェクト(インスタンス)を イージングを使って、目的の位置に近づきながらゆっくりした動きにしたいと考えています。 宜しくお願いいたします。