トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     FlashVarsの取得について
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
cuddle
Åê¹ÆNo.41920
投稿日時: 2009-3-29 11:00
新米
居住地:
投稿: 7
使用環境:
mac os-x 10.6
flash CS5.5
FlashVarsの取得について
初めて投稿させて頂きます。よろしくお願いします
flashVarsを取得してtextFieldに出力を試みているのですが、
下記のようなエラーが出てしまい動きません。
flashに直書きすれば取れるのですが、classで行いたいです。
タイミングでnullなのかと思い、イベントをつけましたが動きませんでした。

そもそもAS3への移行で外堀から埋めて行ってる状況ですので
あてずっぽなコードかもしれませんがご指導頂ければ幸いです。
なにとぞ、よろしくお願い致します。

■エラー内容
TypeError: Error #1009: null のオブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。
at getFlashVarsClass/getFlashVars()
at flashVarsTest_fla::MainTimeline/frame1()

■class
package {
import flash.display.*;

public class getFlashVarsClass extends Sprite{
var flashVars:Object;
var msgTxt:String;
public function getFlashVarsClass() {
//
}
public function getFlashVars():String
{
flashVars = root.loaderInfo.parameters;
for (var j in flashVars) {
msgTxt += j + "=" + flashVars[j] + "\n";
}
return msgTxt;
}

}
}

ニノミヤ カズノリ
Åê¹ÆNo.41921
投稿日時: 2009-3-29 12:06
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: FlashVarsの取得について
まず、使用環境を書きましょう。
#アカウント編集→編集環境に入力

次に、getFlashVarsClass クラスのインスタンスは表示リストに追加されているのでしょうか?
package {
	import flash.display.*;
	
	public class getFlashVarsClass extends Sprite{
		var flashVars:Object;
		var msgTxt:String;
		public function getFlashVarsClass() {
		//
		}
		public function getFlashVars():String
		{
			trace(root);
			/*flashVars = root.loaderInfo.parameters;
			for (var j in flashVars) {
				msgTxt += j + "=" + flashVars[j] + "\n";
			}
			return msgTxt;*/
		}
	}
}
cuddle
Åê¹ÆNo.41922
投稿日時: 2009-3-29 15:24
新米
居住地:
投稿: 7
使用環境:
mac os-x 10.6
flash CS5.5
Re: FlashVarsの取得について
ご返答ありがとうございます。
環境についても編集しておきました。
trace(root)はnullでした。

>次に、getFlashVarsClass クラスのインスタンスは
>表示リストに追加されているのでしょうか?

知識があまり無くてすみません。
表示リストに追加=ステージに配置だと思ってるんですが、
認識が違っていますでしょうか(汗
AS3になって分からないことだらけです。

Flash側で行っていることは、以下の3行です。
また_txtは、ステージに配置しております。

import getFlashVarsClass;
var cmd:getFlashVarsClass=new getFlashVarsClass();
_txt.text=cmd.getFlashVars();

よろしくお願いします。
ニノミヤ カズノリ
Åê¹ÆNo.41923
投稿日時: 2009-3-29 16:10
職人
居住地: 東京
投稿: 430
使用環境:
CS4
.4.11, .5.7
XP Pro(sp3)
Flash Player 10,0,22,87,
AIR 1.5.1,
IE 5.5 & 6 & 7 & 8,
Firefox 2.0.0.20 & 3.0.11 & 3.5,
Opera 9.64,
Safari 4,
Google Chrome 2.0.172.31,
Netscape 7.1
Re: FlashVarsの取得について
引用:
cuddleさんは書きました:
表示リストに追加=ステージに配置だと思ってるんですが、
認識が違っていますでしょうか(汗

(中略)

import getFlashVarsClass;
var cmd:getFlashVarsClass=new getFlashVarsClass();
_txt.text=cmd.getFlashVars();

確かにステージに配置されているのであれば表示リストに追加されていますが、上記のコードではその配置まで至っていません。
こちらを試してみて下さい。
var cmd:getFlashVarsClass=new getFlashVarsClass();
addChild(cmd);
_txt.text=cmd.getFlashVars();

また、こう言った方法もありでしょう。
getFlashVarsClass
package {
	import flash.display.*;
	
	public class getFlashVarsClass extends Sprite{
		var flashVars:Object;
		var msgTxt:String;
		var rootObj:DisplayObject;
		public function getFlashVarsClass(r:DisplayObject)
		{
			rootObj = r;
		}
		public function getFlashVars():String
		{
			flashVars = rootObj.loaderInfo.parameters;
			for (var j in flashVars) {
				msgTxt += j + "=" + flashVars[j] + "\n";
			}
			return msgTxt;
		}
	}
}

フレーム1
import getFlashVarsClass;
var cmd:getFlashVarsClass=new getFlashVarsClass(this);
_txt.text=cmd.getFlashVars();
cuddle
Åê¹ÆNo.41927
投稿日時: 2009-3-29 19:15
新米
居住地:
投稿: 7
使用環境:
mac os-x 10.6
flash CS5.5
Re: FlashVarsの取得について
ご返答ありがとうございます。
AS3の理解が深まりました!

displayObjに関わる機能や参照はaddChidで表示リストに追加

これが分かってないと、AS3無理ですね!!
2番目の方法がcoolですね!

同じClassにgetURLを作ったりとかして勉強してたのですが、
そっちはインスタンスに登録した状態で動いてたからぜんぜん
分かりませんでした。

本当にありがとうございます!



スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops