今年のゴールデンウイーク期間の営業につきましては、カレンダー通りのスケジュールにてご対応させていただきますので、何卒よろしくお願い申し上げます。
++ Posted at 08/04/26(Sat)22:30:36 ++
今年のゴールデンウイーク期間の営業につきましては、カレンダー通りのスケジュールにてご対応させていただきますので、何卒よろしくお願い申し上げます。
タイムライン全体の読み込みが終了するまで現フレームで待機、ロードが終わったら"s1"フレームへ再生を開始する、という、いわゆるnow loading...な事をAS3でやるにはこんな感じでした。
本編が始まるキーフレームに"s1"という名前でラベルをつけておき、1フレーム目にこんなスクリプトを書いてみます。
stop(); //ムービー停止
var tf:TextField = new TextField(); //テキストフィールドオブジェクトを作る
addEventListener(Event.ENTER_FRAME, function(e:Event):void { //イベントリスナ定義
var loaded_per:int = loaderInfo.bytesLoaded / loaderInfo.bytesTotal * 100; //ロード率
if (loaded_per >= 100) { //ロードが完了したら
tf.visible = false; //テキストフィールドを非表示
this.removeEventListener; //イベントリスナ削除
gotoAndPlay("s1"); //本編再生
} else {
tf.text = "Loading: " + String(loaded_per) + "%"; //進捗率をテキストフィールドに代入
}
}
);
addChild(tf); //進捗率をステージに表示
データのロード中は、動的に生成したテキストフィールドにロード率を表示させていて、enter frameのタイミングで描画を更新するようにイベントリスナに仕込む、という形にしてあります。
AS2まででいうところの、getBytesLoaded()とかgetBytesTotal()の在処がわからなくてハマったですよ。確かに系統的には整理されてる感があるけど、色々覚え直すことがやはり多いです。。
ボタン操作により、子ムービークリップ内のタイムラインを移動するみたいな事をやってみました。なお、すべてのインスタンスはFlashで静的に配置してあります。
ボタンをクリックすると、表情が変わります。クリックされたボタンは選択状態をキープし、ほかのボタンは非選択状態になります(ラジオボタンっぽい動作を手動で書いています)
追記:Buttonコンポーネントがうまく動いてません>< ローカルで試した時は大丈夫だったんだけどなあ。。←追記:修正しました。NucleusプラグインNP_znFlash に渡すパラメータが不足していました(背景がTransparentになってたのでButtonコンポーネントのスキンが表示されなかったっぽい)
» 続きを読む..