
こんにちは。
XMLからデータを読み取ってそのpositionの値を元に
画像を動かそうとしています。
ただ、読み込んだ数値が文字と判断されていて、
numberで変換しても、数値にならずに、動かすことが
できません。
申し訳ありませんが、お教え頂ければ幸いです。
よろしくお願いします。
-----script-------------------------------------------
myXML = new XML ();
myXML.ignoreWhite = true;
myXML.load ("data.xml");
v_positionxArray = new Array ();
v_positionyArray = new Array ();
myXML.onLoad = function (loaded) {
if (loaded) {
v_rootNode = myXML.firstChild;
v_num = v_rootNode.childNodes.length;
v_currentPhoto = v_rootNode.firstChild;
v_currentNumber = 0;
for (i=0; i < v_num; i++) {
v_positionxArray.push (v_currentPhoto.childNodes[0].firstChild);
v_positionyArray.push (v_currentPhoto.childNodes[1].firstChild);
v_currentPhoto = v_currentPhoto.nextSibling;
}
} else {
trace ("error occured");
}
};
btn_test.onRelease = function () {
if (v_currentNumber < v_num-1) {
v_currentNumber+=1;
picture_x = Number(v_positionxArray[v_currentNumber]);
picture_y = Number(v_positionyArray[v_currentNumber]);
}
};
picture.onEnterFrame = function () {
this._x += picture_x;
this._y += picture_y;
}
-----xml data--------------------------------------
<data>
<member>
<positionx>-591</positionx>
<positiony>-130.7</positiony>
</member>
</data>

No.1ベストアンサー
- 回答日時:
書かれているスクリプトの,
2箇所の部分↓。
===========================
for (i=0; i < v_num; i++) {
v_positionxArray.push (v_currentPhoto.childNodes[0].firstChild);
v_positionyArray.push (v_currentPhoto.childNodes[1].firstChild);
v_currentPhoto = v_currentPhoto.nextSibling;
}
--- & & & ---
btn_test.onRelease = function () {
if (v_currentNumber < v_num-1) {
v_currentNumber+=1;
picture_x = Number(v_positionxArray[v_currentNumber]);
picture_y = Number(v_positionyArray[v_currentNumber]);
}
};
===========================
この2箇所の部分について,
次のように修正すれば無事動作しましたよ↓。
===========================
for (i=0; i<v_num; i++) {
v_positionxArray.push(v_currentPhoto.childNodes[0].firstChild.nodeValue);
v_positionyArray.push(v_currentPhoto.childNodes[1].firstChild.nodeValue);
v_currentPhoto = v_currentPhoto.nextSibling;
}
--- & & & ---
btn_test.onRelease = function() {
picture_x = Number(v_positionxArray[0]);
picture_y = Number(v_positionyArray[1]);
};
===========================
もしくは,
次のように修正しても良いです↓。
===========================
for (i=0; i<v_num; i++) {
v_positionxArray.push(Number(v_currentPhoto.childNodes[0].firstChild.nodeValue));
v_positionyArray.push(Number(v_currentPhoto.childNodes[1].firstChild.nodeValue));
v_currentPhoto = v_currentPhoto.nextSibling;
}
--- & & & ---
btn_test.onRelease = function() {
picture_x = v_positionxArray[0];
picture_y = v_positionyArray[1];
};
===========================
firstChild とか,childNodes[] は,XMLNode であり,データ型が Object型 です。
Object はプロパティの集まりですから Number関数 で単純に数値化できません。
nodeValue が XMLNode の値で,String です。
Excel に喩えると(べつに喩えなくていいですが),
Range("A1") が A1セル 自体で,
Range("A1").Value が A1セルの値 です。
...と書いてみたものの,ちょっと違うかも???
とにかく,そういうニュアンスです。
XMLNode は Object だとか,
その値が nodeValu だとか,
nodeValu は String だとか,
そういうようなことが,次に書いてあります↓。
Flash 8 ドキュメンテーション(つまりヘルプ)
「XMLNode」
http://livedocs.macromedia.com/flash/8_jp/main/0 …
--- その他 ------
オブジェクト (object)とは: - IT用語辞典バイナリ
http://www.sophia-it.com/content/object
> オブジェクトとは、
> (1)グラフや図形などの視覚的データのひとまとまりのこと
Flash 8 ドキュメンテーション(つまりヘルプ)
オブジェクト (Object) データ型
http://livedocs.macromedia.com/flash/8_jp/main/0 …
> オブジェクトはプロパティの集まりです。
> "プロパティ" とは、オブジェクトを説明する属性です。
sassakun様いつもお世話になっております。
ありがとうございました。できました!
ほんとにちょっと感動です。
ありがとうございました。また、質問させて頂くかと思いますが、よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
potplayerについて質問です
-
chrome flash
-
FLASHの再生はできないのでしょ...
-
uwscでExcelに自動記入
-
PHPの変数をAS3に渡す方法
-
FLASHでゲームを作っていた人は...
-
この曲はなんでしょう?
-
laptop go2からの買い替え、lap...
-
スクリップト
-
私のコンピューター上のファイ...
-
arduino プログラムについて
-
フラッシュゲームアーカイブ2
-
ウェブサイトで Flash が事実上...
-
Flashコンテンツを使ったWebサイト
-
Flash Playerのサポートが終了
-
Form内のselectを連動させるに...
-
Flashをブロックしないで
-
ダウンロードしたデジブックはa...
-
ad or script について
-
Flashplayerの運用について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
マウスオーバーで外部ファイル...
-
画面サイズが変わると移動する...
-
経過時間待機
-
VBAユーザーホームテキストボッ...
-
変数に256文字以上のテキストを...
-
VB6.0で、フォームから、別のフ...
-
四乗根を英語で言うと・・・
-
photoshopで書いた四角の枠の中...
-
python ボタンを押すと複数の関...
-
テキストボックスの中身をリセ...
-
【VB.NET】別Formのボタンが押...
-
マウス自体の移動量の取得
-
VBAで改行の入ったデータの正規...
-
UWSCのBTN関数について。
-
テキストボックスにセルの値を...
-
FLASHで脱出ゲームを作る時の、...
-
テキストエリア内の文字列にリ...
-
VBScriptでMsgBoxのYesNoボック...
-
arduino プログラムについて
-
ZWCAD CUIXとLISPの関係について
おすすめ情報