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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     withの使い方
投稿するにはまず登録を

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
youich
Åê¹ÆNo.12902
投稿日時: 2004-12-1 1:05
職人
居住地: kobe
投稿: 349
使用環境:
Re: withの使い方
こんにちは永井さん。

引用:

'with'アクションは、暫定的にオブジェクトをスコープチェーンの最後に追加します。'with'アクションの実行が終了すると、暫定オブジェクトはスコープチェーンから削除されます。


だそうです。

えーっと、オブジェクトをスコープチェーンの最後に追加するんじゃなくて
オブジェクトをスコープチェーンの先頭に挿入する、じゃないでしょうか??


引用:

で、ムービークリップの場合を調べました。
with(my_mc){
_visible=false;//OK
gotoAndStop(XX);//OK
startDrag()://OK
}
で、自作の関数もその定義をwith()ステートメントの前に書けば、with()内で実行されました。

enabled=false//NG
これはenabledはmy_mcのプロパティ変数でなく、デバッガを見るとlevel0の変数になっていました。
で、with()の前に、
my_mc.enabled=true;
と初期値の設定をしておくと有効になりました。

_visibleはそのまま有効なのにenabledはそのまま使えないのです。
変な話です。

enabledプロパティはprototypeオブジェクトに設定されていて、インスタンス自身のプロパティとしては
初期状態のままでは未定義なのでwith内からは設定できないのだと思います。
それに対して_visibleや_x,_y等のプロパティはインスタンスがステージに配置された時にそのインスタンスの
プロパティとして設定済みなので、with内からも設定ができるということじゃないかと思います。

with(my_mc){
	__proto__.enabled = true;
}



ややこしく書いてしまったのでまとめます。
Button.prototype.x  = "Hello";

with(button1){
	
	//__proto__.enabled = false; // OK prototypeオブジェクトにはenabledプロパティが設定済みなのでOK
	//valueOf().enabled = false; // OK 自身への参照を得てそのenabledプロパティに設定するのでOK
	enabled = false; // NG プロパティの設定にはprototypeチェーンを逆上ってはできない
	         //(自身のプロパティにはenabledプロパティが未定義)
	
	trace(x); // OK プロパティの読み出しはprototypeチエーンを逆上っておこなわれる
													 
}


これは、すべてヘルプの通りの動作ということでいいんじゃないかと思います。
引用:

helpより

with アクション内に変数を設定するには、with アクションの外側で変数を宣言しておくか、変数を設定するタイムラインへのフ ルパスを入力する必要があります。


----------------
- yo

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

題名 投稿者 日時
   withの使い方 copperroad 2004-11-30 13:51
     Re: withの使い方 ゲスト 2004-11-30 14:25
       Re: withの使い方 copperroad 2004-11-30 14:26
     Re: withの使い方 sorano 2004-11-30 14:52
       Re: withの使い方 ゲスト 2004-11-30 15:05
         Re: withの使い方 copperroad 2004-11-30 15:09
           Re: withの使い方 sorano 2004-11-30 16:22
             Re: withの使い方 knagai 2004-11-30 17:21
     Re: withの使い方 narun 2004-11-30 17:48
       Re: withの使い方 youich 2004-11-30 19:06
         Re: withの使い方 copperroad 2004-11-30 20:52
           Re: withの使い方 knagai 2004-12-1 0:24
           » Re: withの使い方 youich 2004-12-1 1:05
               Re: withの使い方 Fumio 2004-12-1 5:01
                 Re: withの使い方 knagai 2004-12-1 10:49
                   Re: withの使い方 ゲスト 2004-12-1 19:42
                     Re: withの使い方 Fumio 2004-12-1 21:15
                       Re: withの使い方 ゲスト 2004-12-1 21:56
                 Re: withの使い方 youich 2004-12-1 22:52
                   Re: withの使い方 ゲスト 2004-12-2 8:41

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