電子書籍の厳選無料作品が豊富!

こんばんは。
現在、Actionscript3.0にてFLASHコンテンツを制作しております。
あるイベント処理の際に、任意の秒数処理を遅らせて実行したいと考えております。

例えば、
1.ブラウザのサイズを任意にリサイズする
 (addEventListener RESIZEイベント呼び出し)

2.変更したサイズに合わせてステージ上のオブジェクトが指定の位置に移動する
 (オブジェクトの位置を移動させる処理の実行)

2の動きを、ブラウザリサイズ後、任意の秒数置いてから実行させたいと考えています。

例で言うと以下サイトでブラウザをリサイズした際に、後からオブジェクトが追従するような動きです。
http://www.duras.jp/

ご教授宜しくお願いいたします。

A 回答 (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されていたものをリセットするという意味ととらえてください。
    • good
    • 0
この回答へのお礼

ご回答誠にありがとうございます。
TweenMaxを導入してみた所、理想としている動きができました。

TweenMaxではイージング設定もできるようなので設定したいと
考えておりますが、ネットで調べてもイージングの種類や使い方が詳細に
記載されているものが見つかりませんでした。

もしご存知でしたらご教授いただけませんでしょうか?

因みに、上記の指定秒数遅らせて移動したオブジェクト(インスタンス)を
イージングを使って、目的の位置に近づきながらゆっくりした動きにしたいと考えています。

宜しくお願いいたします。

お礼日時:2009/06/17 23:21

イージング設定ですと


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/
    • good
    • 0
この回答へのお礼

細かいアドバイスありがとう御座います!
思っている通りのものができそうです。

色々とお世話になりました。
またご教授いただくことがあるかと思いますが、
その時は宜しくお願い申し上げます。

お礼日時:2009/06/18 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!