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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   ActionScript 3.0 特設会議室
     インスタンスの重なり具合を確認する方法で・・・
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
せいぞう
Åê¹ÆNo.38463
投稿日時: 2008-4-17 9:51
常連
居住地: 江戸川区の某所
投稿: 125
使用環境:
Flash CS5.5
Windows8 (64Bit)
Pentium Core i7
Memory 8GB
インスタンスの重なり具合を確認する方法で・・・
addChild()で配置したインスタンスの重なり具合を確認する方法でひとつ質問させてください。
例えばrootの階層に、描画のための Shapeを3つ配置します。
var CanvasA:Shape = new Shape();	//キャンバスA
var CanvasB:Shape = new Shape();	//キャンバスB
var CanvasC:Shape = new Shape();	//キャンバスC
addChild(CanvasA);
addChild(CanvasB);
addChild(CanvasC);

この時点で、3つのオブジェクトの重なりは・・・
CanvasA →(上)→ CanvasB →(上)→ CanvasC
になっています。

この後、その順番を様々に入れ替えるために、重なり具合を監視するプログラムを書いてみました。
※↓これはタイマーによって1秒毎に起動しています。
function intervalFunc():void{
	var k:int;
	myText.text = "";
	for(k=0; k<MovieClip(root).numChildren; k++){
		MovieClip(root).myText.appendText( MovieClip(root).getChildAt(k).name +"\n" );
	}
}

期待する出力は・・・
CanvasA
CanvasB
CanvasC

なのですが、実際は下のように出力されます。

instance1
instance2
instance3

上記の例のように簡単なものだと、このままでも管理出来るのですが、プログラムが複雑になってくると、やはりインスタンスの名前で表示・確認できないと辛いものがあります。

何か良いアイデアがありましたらご教授頂きたく、よろしくお願い申し上げます。


----------------
□NAME : せいぞう
□URL : http://www.5th-trend.com/

ニノミヤ カズノリ
Åê¹ÆNo.38466
投稿日時: 2008-4-17 11:32
職人
居住地: 東京
投稿: 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: インスタンスの重なり具合を確認する方法で・・・
name プロパティを設定していないので、
instanceN が表示されるのは仕方ありません。

例えば、下記の様にすれば期待通りの結果が得られます。
var CanvasA:Shape = new Shape();	//キャンバスA
var CanvasB:Shape = new Shape();	//キャンバスB
var CanvasC:Shape = new Shape();	//キャンバスC
CanvasA.name = "CanvasA";
CanvasB.name = "CanvasB";
CanvasC.name = "CanvasC";
addChild(CanvasA);
addChild(CanvasB);
addChild(CanvasC);
せいぞう
Åê¹ÆNo.38467
投稿日時: 2008-4-17 11:43
常連
居住地: 江戸川区の某所
投稿: 125
使用環境:
Flash CS5.5
Windows8 (64Bit)
Pentium Core i7
Memory 8GB
Re: インスタンスの重なり具合を確認する方法で・・・
ニノミヤ様、早速のご助言ありがとうございます。
var CanvasA:Shape = new Shape();    //キャンバスA
var CanvasB:Shape = new Shape();    //キャンバスB
var CanvasC:Shape = new Shape();    //キャンバスC

↑ここの CanvasA--CanvasC が nameプロパティなのかと思い込んでおりました。
ご指摘の方法でセットしなければならないのですね。
勉強になりました。
ありがとうございました。m(_ _)m


----------------
□NAME : せいぞう
□URL : http://www.5th-trend.com/

野中文雄
Åê¹ÆNo.38488
投稿日時: 2008-4-19 2:20
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: インスタンスの重なり具合を確認する方法で・・・
FAQになりそうな予感がしましたので、F-siteの記事としてまとめてみました。

F-site「MovieClipインスタンスとインスタンス名
引用:
せいぞうさんは書きました:
var CanvasA:Shape = new Shape();    //キャンバスA
var CanvasB:Shape = new Shape();    //キャンバスB
var CanvasC:Shape = new Shape();    //キャンバスC

↑ここの CanvasA--CanvasC が nameプロパティなのかと思い込んでおりました。


----------------
 

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

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