/ Published in: Other
Expand |
Embed | Plain Text
/* ここから */ import org.casaframework.load.data.xml.XmlLoad; import org.casaframework.util.MovieClipUtil; import org.casaframework.util.XmlUtil; import com.mosesSupposes.fuse.PennerEasing; import com.mosesSupposes.fuse.Shortcuts; import com.mosesSupposes.fuse.ZigoEngine; import net.saqoosha.teraco.blogparts.LogoAnimation; import net.saqoosha.teraco.blogparts.MemberDetail; import net.saqoosha.teraco.blogparts.MemberList; /** * @author teraco */ class net.saqoosha.teraco.blogparts.App extends MovieClip { /** * エントリーポイント。こっからすべてが始まるよ。 * この関数自体はflaの1フレームめから呼んでる。 */ static public function main(target:MovieClip):Void { target.__proto__ = App.prototype; Function(App).apply(target, null); } // インスタンスプロパティ private var _xmlLoad:XmlLoad; private var _memberInfo:Array; private var _animation:LogoAnimation; private var _memberDetail:MemberDetail; private var _memberList:MemberList; /** * コンストラクタ */ function App() { ZigoEngine.simpleSetup(Shortcuts, PennerEasing); //this this.loadMemberInfo(); } /** * メンバーリストのXMLファイルを読み込みます */ private function loadMemberInfo():Void { this._xmlLoad = new XmlLoad('members.xml'); // 読み込み終わったら onXmlLoad が呼ばれる this._xmlLoad.addEventObserver(this, XmlLoad.EVENT_LOAD_COMPLETE, 'onXmlLoad'); this._xmlLoad.start(); } /** * XML読み込めました。 */ private function onXmlLoad():Void { // XmlUtil で XML をパース this._memberInfo = XmlUtil.xmlToObject(this._xmlLoad.getXml())['members'][0]['member']; this.showLogoAnimation(); } /** * ロゴのアニメーションしましょう。 */ private function showLogoAnimation():Void { // ループ2回目はメンバーリストを消す。1回目は _memberList は undefined だけど気にしない。 this._memberList.removeMovieClip(); // LogoAnimation クラスの MovieClip をつくります。 this._animation = LogoAnimation(MovieClipUtil.attachMovieRegisterClass(LogoAnimation, this, 'Logo Animation', '_logo')); } /** * メンバーを一人ご紹介。 */ private function showMember(id:Number):Void { // ロゴアニメーション消す。 this._animation.removeMovieClip(); // MemberDetail クラスの MovieClip をつくります。 this._memberDetail = MemberDetail(MovieClipUtil.attachMovieRegisterClass(MemberDetail, this, 'Member Detail', '_detail')); // id が指定されてたらその人、そうじゃなかったらランダムに選んで setupDetail this._memberDetail.setupDetail(this._memberInfo[isNaN(id) ? Math.floor(Math.random() * this._memberInfo.length) : id]); } /** * メンバーリストを表示しましょう。 */ private function showAllMembers():Void { // メンバー紹介消す this._memberDetail.removeMovieClip(); // MemberList クラスの MovieClip つくります this._memberList = MemberList(MovieClipUtil.attachMovieRegisterClass(MemberList, this, 'Member List', '_list')); // メンバーリストわたして初期化 this._memberList.setupList(this._memberInfo); } } /* ここまで */
Comments
Subscribe to comments
- Posted By: daisuke103 on February 11, 2008
You need to login to post a comment.
