NEWS

2017.10.21 「バージョンごとの機能比較」を更新しました。

  • Web creators

ActionScript

XMLの読み込み

概要

XML内の記載内容は要素または項目毎に情報が分別されているのでプログラムなどで動的に表示させる時には有効です。
FLASHは外部ファイルとして用意したXMLファイルを読み込み、その文字列を表示したりリンクすることが可能です。

サンプル解説

表示される文字はSWF内にあるのではなく、外部ファイルのXMLデータに明記しています。
ボタンを押すとXMLファイルで指定しているリンク先サイトが表示されます。

作成法

(1) XMLファイルの作成
  ・テキストファイルに以下を明記する。
 
01
02
03
04
05
06
07
08
09
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
<top>
<menu>
<title>リンクボタン</title>
<url>http://www.macromedia.com/jp/shockwave/download/
index.cgi?P1_Prod_Version=ShockwaveFlash&Lang=Japanese</url>
</menu>
<menu>Macromedia</menu>
<menu>
ボタンを押すとFLASH Playerのダウンロードサイトが表示されます。
</menu>
</top>
  ・「xml.xml」と名前をつけて保存する。
(2) ボタンとなるシンボルを作成
  ・ボタン背景のみ作成するため文字は入れない。
ボタンシンボルの作成
(3) シンボルをステージに配置
  ・ActionScriptを設定するレイヤー作成する。(レイヤー名をActionとする)
  ・空欄のテキストエリアを3つ配置する。
  ・テキストエリアの1つは(1)で作成したシンボルの下へ配置する。
ステージに配置
(4) ステージ上のテキストエリアそれぞれに変数を設定
  ・シンボルの上のテキストエリアに変数「slideText」を設定する。
テキストエリアの設定
  ・「【リンク先】」の下のテキストエリアに変数「slideText2」を設定する。
  ・「【解説】」の下のテキストエリアに変数「slideText3」を設定する。
(5) 「Action」レイヤーにActionScriptを設定
 
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
index_xml = new XML();
index_xml.onLoad = startIndexMenu;
index_xml.load("./xml.xml");
index_xml.ignoreWhite = true;
 
function startIndexMenu(success) {
 if (success == true) {
  rootNode = index_xml.firstChild;
  firstMenuNode = rootNode.firstChild;
  childMenuNode = firstMenuNode.firstChild;
  updateMenu(childMenuNode);
 }
}
 
function updateMenu(newMenuNode) {
 slideText = newMenuNode.firstChild.nodeValue;
 
 slideText_op = newMenuNode.nextSibling;
 urlNode = slideText_op.firstChild.nodeValue;
 
 nextMenuNode2 = firstMenuNode.nextSibling;
 slideText2 = nextMenuNode2.firstChild.nodeValue;
 
 nextMenuNode3 = nextMenuNode2.nextSibling;
 slideText3 = nextMenuNode3.firstChild.nodeValue;
}
(6) 設置したシンボルを選択し、ActionScriptを設定
 
01
02
03
on (press) {
 getURL(_root.urlNode);
}
(7) SWFファイルとXMLファイルを同じ階層に置き、動作確認

解説

上記(5)の01〜04でXMLデータを読み込んでいます。
ActionScript「firstChild」は親ノードの子リスト内の最初の項目を参照するための関数です。
08の「rootNode」には(1)のXMLデータ02〜10が入り、09の「firstMenuNode」にはXMLデータ03〜09が入ります。
ここで入れられたデータは<○○>と</○○>といったタグも含んでいるため、16の「firstChild.nodeValue」でタグを除いたデータにしています。
18の「nextSibling」で次の項目を参照します。
また、XMLデータのURLを明記して「getURL」を利用すれば、(6)のようにリンクボタンにもなります。

ページ上部へ