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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     クラス内の変数について
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
Fumio
Åê¹ÆNo.3694
投稿日時: 2004-2-11 13:39
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
Re: クラス内の変数について
動作が理解できないときは、問題の部分のみ切分けて試した方がよいでしょう。

問題は、3回すべてではなく、obj1の2回分ですよね?
引用:
takiguchiさんは書きました:
下記のように__resolveが3回も呼ばれることです(うち2回がobj1)
教えてください…よろしくお願いいたします

//ProtoExample.as
dynamic class ProtoExample{
	
	//__proto__をシュミレートするObject _proto
	var _proto:Object;
	static var num:Number=0; //追加
	var idName:String; //追加
	
	function ProtoExample(proto:Object){
		_proto = proto;
		num++; //追加
		idName="obj" + num; //追加
	}
	
	//もしProtoExampleのインスタンスに無いプロパティが呼び出されたら呼ばれる
	function __resolve(prop:String){
		
		trace([idName+".__resolve called","Prop:"+prop]); //追加
		
		//引数に入ってきたものと同名のプロパティを_protoから探す
		var f = _proto[prop];
	
		//それがFunctionなら関数として返す。
		if( typeof f== "Function")
			return f.apply(this,arguments);
		
		return f;
	}
}

//example:
PROTOTYPE = new Object();
PROTOTYPE.prop = "prototypeProperty";
PROTOTYPE.datas = [1,2,3,4,5];
	
var obj1:ProtoExample = new ProtoExample(PROTOTYPE);
var obj2:ProtoExample = new ProtoExample(PROTOTYPE);
// [問題の処理部分]
obj1.datas[0] = "X"; //*datasプロパティの配列を参照して変更
// 問題はobj1の2回のみ
//obj1.__resolve called,Prop:datas
//obj1.__resolve called,Prop:datas
trace(obj1.datas); //X,2,3,4,5

[問題の処理部分]のステートメントをつぎのように分解すれば、おわかりになるでしょう。
// [問題の処理部分]
var temp = obj1.datas;  //obj1.__resolve called,Prop:datas
temp[0] = "X";
//obj1.__resolve called,Prop:datas
trace(obj1.datas); //X,2,3,4,5


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

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

題名 投稿者 日時
   クラス内の変数について takiguchi 2004-2-5 7:02
     Re: クラス内の変数について Fumio 2004-2-5 10:42
     Re: クラス内の変数について Fumio 2004-2-5 11:05
       Re: クラス内の変数について takiguchi 2004-2-5 20:09
         Re: クラス内の変数について Fumio 2004-2-6 9:59
           Re: クラス内の変数について takiguchi 2004-2-6 11:00
         Re: クラス内の変数について Fumio 2004-2-6 12:45
           Re: クラス内の変数について takiguchi 2004-2-6 14:53
             Re: クラス内の変数について youich 2004-2-8 13:43
             Re: クラス内の変数について youich 2004-2-8 15:54
               Re: クラス内の変数について takiguchi 2004-2-8 21:45
                 Re: クラス内の変数について youich 2004-2-9 3:15
                   Re: クラス内の変数について takiguchi 2004-2-11 11:51
                   » Re: クラス内の変数について Fumio 2004-2-11 13:39
                       Re: クラス内の変数について takiguchi 2004-2-11 14:53
                     Re: クラス内の変数について youich 2004-2-11 22:27
                       Re: クラス内の変数について takiguchi 2004-2-12 2:14
                         Re: クラス内の変数について youich 2004-2-12 3:00
                         Re: クラス内の変数について Fumio 2004-2-12 22:33
                           Re: クラス内の変数について takiguchi 2004-2-13 11:41
             Re: クラス内の変数について Fumio 2004-2-8 22:09
     Re: クラス内の変数について Fumio 2004-2-5 11:16
       Re: クラス内の変数について tomohiro 2004-2-5 12:05
         Re: クラス内の変数について Fumio 2004-2-5 18:54
     Re: クラス内の変数について youich 2004-2-8 14:06
     Re: クラス内の変数について takiguchi 2004-2-9 21:32
       Re: クラス内の変数について youich 2004-2-9 22:47
         Re: クラス内の変数について takiguchi 2004-2-10 0:17
           Re: クラス内の変数について youich 2004-2-10 2:34

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