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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     外部読込みされるMC内で、読込元の変数を参照したい
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
knagai
Åê¹ÆNo.39367
投稿日時: 2008-6-30 0:30
職人
居住地: 白馬村
投稿: 796
使用環境:
Re: 外部読込みされるMC内で、読込元の変数を参照したい
ほぼ実験のように3つの方法を考えました。
1)表示オブジェクトの階層をたどる方法
2)LocalConnectionを使う方法
3)共有オブジェクトを使う方法

1)
//Main.swfのメインのタイムライン
var a_array:Array=["メインの配列1","メインの配列2"];

var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onCompleteListener);

loader.load(new URLRequest("Sub.swf"));

function onCompleteListener(evt:Event):void {
	//trace(loader.content)
	addChild(loader);
	
}

//Sub.swfのメインのタイムライン
// btn:MovieClip、info_txt:TextFieldがある
addEventListener(Event.ADDED_TO_STAGE,onAddedListener);

function onAddedListener(evt:Event):void {
	info_txt.text="追加された";
	btn.addEventListener(MouseEvent.CLICK,onClickListener);
}

function onClickListener(evt:MouseEvent):void {
	var maintimeline:DisplayObject=stage.getChildAt(0);
	info_txt.text="クリック"+"\n"+MovieClip(maintimeline).a_array;
}


2)
//Main.swfのメインのタイムライン
var a_array:Array=["値1","値2"];

var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onCompleteListener);

loader.load(new URLRequest("Sub.swf"));

var lc:LocalConnection=new LocalConnection();

function onCompleteListener(evt:Event):void {
	addChild(loader);
	lc.send("lcconn","sendMes",a_array);
}

//Sub.swfのメインのタイムライン
var lc:LocalConnection=new LocalConnection()
var client:CustomClient=new CustomClient()

lc.client = client
lc.connect("lcconn");

addEventListener(Event.ADDED_TO_STAGE,onAddedListener);

function onAddedListener(evt:Event):void {
	info_txt.text="追加された";
	btn.addEventListener(MouseEvent.CLICK,onClickListener);
}

function onClickListener(evt:MouseEvent):void {
	info_txt.text="クリック"+"\n"+client.getArray()
}

// CustomClientクラス
package {
	public class CustomClient extends Object {
		private var myArray:Array;
		// これはよくない! 悪用される!
		public function sendMes(arr:Array):void {
			myArray=arr;
		}
		public function getArray():Array {
			return myArray;
		}
	}
}


3)
//Main.swfのメインのタイムライン
var a_array:Array=["値1","値2"];

var so:SharedObject = SharedObject.getLocal("test","/");
so.data.arr = a_array;
so.flush();

var loader:Loader=new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onCompleteListener);
loader.load(new URLRequest("Sub.swf"));

function onCompleteListener(evt:Event):void {
	addChild(loader);
}

//Sub.swfのメインのタイムライン
addEventListener(Event.ADDED_TO_STAGE,onAddedListener);

function onAddedListener(evt:Event):void {
	info_txt.text="追加された";
	btn.addEventListener(MouseEvent.CLICK,onClickListener);
}

function onClickListener(evt:MouseEvent):void {
	var so:SharedObject = SharedObject.getLocal("test","/");
	if (so.size == 0) {
		// 共有オブジェクトは存在しない
	} else {
		info_txt.text="クリック"+"\n"+so.data.arr;
	}
}


----------------
永井勝則:
himco.jp :

フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   外部読込みされるMC内で、読込元の変数を参照したい kirarin 2008-6-29 15:57
     Re: 外部読込みされるMC内で、読込元の変数を参照したい nioia321 2008-6-29 23:25
     » Re: 外部読込みされるMC内で、読込元の変数を参照したい knagai 2008-6-30 0:30
         Re: 外部読込みされるMC内で、読込元の変数を参照したい kirarin 2008-6-30 11:05
           Re: 外部読込みされるMC内で、読込元の変数を参照したい knagai 2008-6-30 22:15
             Re: 外部読込みされるMC内で、読込元の変数を参照したい kirarin 2008-7-2 20:43
       Re: 外部読込みされるMC内で、読込元の変数を参照したい kirarin 2008-6-30 9:56
     Re: 外部読込みされるMC内で、読込元の変数を参照したい Fumio 2008-6-30 1:40
       Re: 外部読込みされるMC内で、読込元の変数を参照したい kirarin 2008-6-30 11:50
         Re: 外部読込みされるMC内で、読込元の変数を参照したい Fumio 2008-6-30 12:39
           Re: 外部読込みされるMC内で、読込元の変数を参照したい kirarin 2008-6-30 13:49

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