05/02: 手順1のコード解説
Category: ActionScript
Posted by: sato
メニューのベース作成の手順1のコードにコメントを付けました。
関連記事
XMLで、Tabなどの空白を使えるようにする
html内にFlashを設置する際にパラメータを渡す
//XMLインスタンス作成
xml_data = new XML();
//空白・改行を無効化(これについては別記事で取り上げています。)
XML.prototype.ignoreWhite = true;
//menu.xmlの場所
//_root.xml_pathは、HTMLから受け取ったパラメータです。
//ローカルでテストする場合など、パラメータの指定がなかった場合、"menu.xml"とする。
_root.xml_path = (_root.xml_path) ? _root.xml_path : "menu.xml";
//指定XMLを読み込む
xml_data.load(_root.xml_path);
//読み込み完了後のイベントを定義
xml_data.onLoad = function (loaded) {
if (loaded) {
//-----無事読み込めた場合
//最初の子ノード(メニュー設定情報)
var fc = xml_data.firstChild;
//ステージのサイズが変わっても縮小・拡大しないように設定
Stage.scaleMode = "noScale";
//メニュー設定情報の属性から、ステージサイズを変更
Stage.width = sx = Number(fc.attributes["swidth"]);
Stage.height = sy = Number(fc.attributes["sheight"]);
//ステージサイズを変更すると、ゼロ点がずれてしまうので、その分補正する。
_root._x += (300 - sx)/2;
_root._y += (400 - sy)/2;
//メニュー設定情報の属性から、メニューの横幅・文字サイズを拾う。
iw = Number(fc.attributes["iwidth"]);
is = Number(fc.attributes["isize"]);
//menu_listクラスのインスタンスを作成
//{}の中は作成時に渡す初期値
attachMovie("menu_list", "root_menu", 1, { xml_data:xml_data.lastChild, x:0, y:0, iwidth:iw, isize:is });
} else {
//-----読み込みに失敗した場合
//テキストフィールドを作成してメッセージを表示する。
_root.createTextField("ititle", 65535, 0, 0, 200, 20);
_root["ititle"].text = "xmlが読み込めませんでした。"+_root.xml_path;
}
}
this.stop();
関連記事
XMLで、Tabなどの空白を使えるようにする
html内にFlashを設置する際にパラメータを渡す