忍者ブログ

painkiller_blog

仕事でwebのお仕事。プライベートで油絵描いてます。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

casaframeworkもすばらしい

xmlとデータをflashにとりこんで配列化してみるときに使ってみたんだけどこれが結構便利です。
これなら更新の際も便利だね。

ソースは

import org.casaframework.load.data.xml.XmlLoad;
import org.casaframework.util.XmlUtil;
import org.casaframework.util.ArrayUtil;
var swfinfo:Array;
function onDataLoad(sender:XmlLoad):Void {
    //XmlUtilでXMLをパース
    swfInfo = XmlUtil.xmlToObject(this.myXmlLoad.getXml())['data'][0]['items'];
    //initを実行
    init();
}
//XMLをロード
var myXmlLoad:XmlLoad = new XmlLoad("movies.xml");
//ロード完了時の処理
this.myXmlLoad.addEventObserver(this,XmlLoad.EVENT_LOAD_COMPLETE,"onDataLoad");
//ロード開始
this.myXmlLoad.start();

function init():Void {
    //trace(swfInfo[0].movie[0].nodeValue);
    //ここで配列化
    var swf_array:Array = new Array();
    for (i=0; i<=swfInfo[0].movie.length-1; i++) {
        swf_array[i] = swfInfo[0].movie[i].nodeValue;
    }
    //ここでランダム化
    _swf_ARR = ArrayUtil.randomize(swf_array);
    trace(_swf_ARR[0]);
    //ランダムにして各MCにloadClip
    //全体管理用リスナー
    var Listener:Object = new Object();
    //ロードするswfの数
    Listener.num = 7;
    //ロード完了した数
    Listener.count = 0;
    //onLoadInit
    Listener.onLoadInit = function() {
        this.count++;
        if (this.count>=this.num) {
            this.onLoadAll();
        }
    };
    //全てのswfをロードしたときの処理
    Listener.onLoadAll = function() {
        //gotoAndPlay(2);
        trace("完了");
    };
    //ここから読み込み処理
    var Loader0:MovieClipLoader = new MovieClipLoader();
    //リスナー登録
    Loader0.addListener(Listener);
    Loader0.loadClip(_swf_ARR[0],this.load0);
    //ここまで
   
    //ここから読み込み処理
    var Loader1:MovieClipLoader = new MovieClipLoader();
    //リスナー登録
    Loader1.addListener(Listener);
    Loader1.loadClip(_swf_ARR[1],this.load1);
    //ここまで
    //ここから読み込み処理
    var Loader2:MovieClipLoader = new MovieClipLoader();
    //リスナー登録
    Loader2.addListener(Listener);
    Loader2.loadClip(_swf_ARR[2],this.load2);
    //ここまで
    //ここから読み込み処理
    var Loader3:MovieClipLoader = new MovieClipLoader();
    //リスナー登録
    Loader3.addListener(Listener);
    Loader3.loadClip(_swf_ARR[3],this.load3);
    //ここまで
    //ここから読み込み処理
    var Loader4:MovieClipLoader = new MovieClipLoader();
    //リスナー登録
    Loader4.addListener(Listener);
    Loader4.loadClip(_swf_ARR[4],this.load4);
    //ここまで
    //ここから読み込み処理
    var Loader5:MovieClipLoader = new MovieClipLoader();
    //リスナー登録
    Loader5.addListener(Listener);
    Loader5.loadClip(_swf_ARR[5],this.load5);
    //ここまで
    //ここから読み込み処理
    var Loader6:MovieClipLoader = new MovieClipLoader();
    //リスナー登録
    Loader6.addListener(Listener);
    Loader6.loadClip(_swf_ARR[6],this.load6);
    //ここまで
   
}

っと。
xmlを解析して配列化。そしてまたrandomizeを使用して中身をランダムにするとloaderに読み込むムービーはいつでもランダム。
再生するとき、更新されたときも必ずランダム配列になってるのでなかなかいい。

ところでこの最後のところのloadClipの処理が嫌。
同じこと何度もやってる。
これを一回で出来ないかな?forを使ってとか?

やってみたけどなぜかできない、納期が迫って時間がない。。。

次は成功させるぞ!

PR

Comment

お名前
タイトル
E-MAIL
URL
コメント
パスワード

Trackback

この記事にトラックバックする

Copyright © painkiller_blog : All rights reserved

TemplateDesign by KARMA7

忍者ブログ [PR]

管理人限定

カレンダー

03 2024/04 05
S M T W T F S
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

最新CM

[10/08 イズカワタカノブ]

最新TB

ブログ内検索

アクセス解析

ブログを評価する「ブログレーダー」