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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     型のキャスト
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
heroes
Åê¹ÆNo.34658
投稿日時: 2007-8-13 21:24
新米
居住地: 埼玉一歩手前
投稿: 19
使用環境:
Re: 型のキャスト
ニノミヤ カズノリ様

原因が分かりました。
ちょっと家で作ったサンプルファイルが実際のコードとはちがっており、その違いが原因でした。
Abstractクラスを継承したChildクラスでattachMovieのターゲット管理を行うために、privateに "_target"という名前を使っており、
同名のMovieClip._targetとバッティングしたからだと分かりました。

Abstract.as

class Abstract
{
	/**
	 * アタッチするターゲット
	 */
	private var _target:Abstract;//コイツが原因
	
	/**
	 * コンストラクタ
	 */
	public function Abstract()
	{
		this._target = this;//デフォルトは同じ階層
	}

	public function attach():Abstract
	{
		var target:Entry = this._target;
		var depth:Number   = this.getNextHighestDepth();
		var linkage:String = "child";
		var name:String    = linkage + depth;
        
		return Abstract(target.attachMovie(linkage, name, depth));
	}
}


Child.as

class Child extends Abstract
{
	/**
	 * コンストラクタ
	 */
	public function Child()
	{
		this._target = Abstract(this._parent);//一個上
	}
}


"private"は "_"(アンダーバー)から始める
というコーディング規則があり、同名プロパティに気づきませんでした・・・・・・。

もっと基本的なことから注意しなくてはいけませんね。

有難うございました。
フラット表示 前のトピック | 次のトピック

題名 投稿者 日時
   型のキャスト heroes 2007-8-10 21:29
     Re: 型のキャスト nioia321 2007-8-12 14:16
     » Re: 型のキャスト heroes 2007-8-13 21:24
         Re: 型のキャスト heroes 2007-8-14 19:29
           Re: 型のキャスト nioia321 2007-8-14 22:13

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