ETERNITY DESIGN BLOG

AS3でのsetIntervalは?

AS3で制作するときにAS2からいろいろと変わりすぎてて、AS2からAS3に記述が変わったかどうかを確かめる→プログラム書く→調べる→書くという感じの流れになっております。
なんだか効率悪いような気もしていますがどう変わっているのかわからないから仕方ないのかな~。
とりあえず、必ず見るページ
LiveDocs検索が機能していないのは早く修正してほしい。
PDF版がほしい。
で、本題。
今回はAS2ではsetIntervalとしていたものがAS3では?というお話。

var timer:Timer=new Timer(duration,0);
timer.addEventListener(TimerEvent.TIMER, func);
timer.start();

durationがミリ秒指定です。
funcが指定間隔で実行する関数の指定。

AVM2MovieとAVM1Movie

AVM2Movie(AS3で書かれたFlash)からAVM2Movieをロードした場合、親のSWFから子のrootを参照するにはLoader.contentを利用します。
ただし、親がAVM2Movieで子がAVM1Movie(AS2orAS1)の場合、参照ができないようです。
ここに書いてあることを自分なりに解釈するとたぶんそーゆーことです。
しかし、このリファレンス使いにくい。
まず検索が機能してないですよね?

AS3でムービー全体のプリローダー

ActionScript 3.0でムービー全体のプリローダーです。
ムービー全体というか、rootというか、ムービー自体というか。
PreLoader.asファイル

package {
import flash.display.MovieClip;
import flash.events.*;
import flash.display.LoaderInfo;
public class PreLoader extends MovieClip {
// プライベートインスタンス変数
private var totalBytes:uint;
public function PreLoader()  {
totalBytes = this.root.loaderInfo.bytesTotal;
addEventListener(Event.ENTER_FRAME, loadEnterFrame);
}
function loadEnterFrame(eventObj:Event) {
if(this.root.loaderInfo.bytesLoaded == totalBytes) {
// ロード完了
}
}
}
}

ライブラリに適当にMC作ってプロパティのクラスに”PreLoader”を指定。
MCを配置して完了です。

AS3でenterframe

ほぼ自分用メモ。
AS2では以下のように記述していたものですが、

this.onEnterFrame = function() {
// 処理
}

AS3では、

addEventListener(Event.ENTER_FRAME, myEnterFrame);
function myEnterFrame(eventObj:Event) {
// 処理
}

という感じになります。

ABOUT ME

名古屋を中心に、フリーランスでホームページ制作してます。 デザイン・サイト制作・WordPress案件・Flash制作、JavaScript(jQuery)と幅広く対応可能です。 案件のご依頼・ご相談はCONTACTよりご連絡ください。

CATEGORIES

ARCHIVES

TAGS