classの中でXMLのload [ Flash ]
なんか昔なんかの案件で実装した気がするのだけど、今はまり中。
やりたいことはObjectベースのclassの中でxmlをsendAndLoadして、このオブジェクトの中で処理してしまいたいという感じ。たとえば
class test extends Object{
var private my_xml:XML;
function test(arg_1){
post_xml = new XML(arg_1);
my_xml = new XML();
my_xml.onLoad = function(result){
getData(this);
}
post_xml.sendAndLoad("sample.xml",my_xml);
}
function getData(arg){
trace(["data loaded",arg.firstChild.childNodes.length]);
}
}
見たいな感じ。onLoadの中のgetDataの参照先の指定がどーだったか思いだせない。そもそもこういう使いかたするならMovieClipをextendsしろってか?もしくはxmlNodeとかでextendsしてXML構造の中に持たせてもいいのかもしれんが、データ構造上なんか気味悪い気がする・・・。(あーでもsetter,getterを定義しておけばそんなXMLを意識させずに使えるかな?

コメント
しもた、parseXMLとか明らかに予約語を使ってしもた・・・汗
投稿者: +39 | 2006年03月09日 02:08
Function.callつかえばいいんじゃないでしょうか?
こんな感じで。
function test(scope, arg1) {
var post_xml = new XML(arg_1);
var my_xml = new XML();
my_xml.onLoad = function(result){
getData.call(scope, this);
}
post_xml.sendAndLoad("sample.xml",my_xml);
}
投稿者: Mk-10 | 2006年03月09日 02:14
ありがとございます。
ただ"getData"もclassの中に収めたいんですよね・・・。この場合のscopeってインスタンスレベルじゃないんでしたっけ?
投稿者: +39 | 2006年03月09日 02:38
あ、違うなobjectレベルでいけるのか・・・。ちと試してみます。
投稿者: +39 | 2006年03月09日 02:39
できました。
ただ"call"ではうまく動作しませんでした。ただscopeを使って
---
my_xml.onLoad = function(result){
scope.getData(this);
}
---
でやればできました。そういわれれば昔そうやって解決したような記憶が・・・・汗
ほんと助かりましたありがとうございます!(そう言えばmaxiさんの会社にいるんでしたっけ??)
投稿者: +39 | 2006年03月09日 02:55
これで最後にXML展開終了後にmy_xmlをdeleteしてやれば綺麗なオブジェクトの完成ーー。
あとはsetter/getter設定してオブジェクトコンポーネントの出来上がりだーー。ワーィ。
投稿者: +39 | 2006年03月09日 03:02
あ、ちがった・・。
普通にvar my_xml = new XML()
でよかった・・。
投稿者: +39 | 2006年03月09日 03:05
あり?うまくいきませんでしたか・・・。
ぬぁ!間違ってました(汗。
正しくは。
---
function test(func, scope, arg1) {
var post_xml = new XML(arg_1);
var my_xml = new XML();
my_xml.onLoad = function(result){
func.call(scope, this);
}
post_xml.sendAndLoad("sample.xml",my_xml);
}
---
Functionも一緒に投げてやらないと、動かないんでした。失礼しましたー(汗。
あ、そうですー。
maxiさんの会社にいますー。
沖縄に来る時はぜひぜひ。
投稿者: Mk-10 | 2006年03月09日 03:11
あ、なるほど。
この辺タイムラインに記述するときと同じ感覚でやってよく嵌ります・・。
>沖縄に来る時はぜひぜひ。
移住したいですw
投稿者: +39 | 2006年03月09日 03:19
自分もよくこんな間違いばかりしてます・・・。
>移住したいですw
移住っすかー、それもいいですねー。
ぜひぜひ、一度偵察しに来てみてくださいー(笑)
投稿者: Mk-10 | 2006年03月09日 03:28
移住して漁師になりたいですw
投稿者: +39 | 2006年03月09日 03:47
だから漁師ビザで(以下略
投稿者: もも | 2006年03月09日 08:04
じゃフィッシャーマンズスープレックスを・・・(以下略
投稿者: +39 | 2006年03月09日 12:00