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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   コーダーズルーム【スクリプト系】
     with()について。
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
rakeem
Åê¹ÆNo.8216
投稿日時: 2004-6-11 23:26
半人前
居住地: Osaka,Japan
投稿: 53
使用環境:
windows 2000,Flash MX
Mac OS 9.2.2,Flash MX
Mac OS 10.3.3 Flash MX2004pro
with()について。
with()についての質問です。
制作環境はMac OS9.2.2 FLASH MXです。

ターゲットパスが長いので省略をしようとwith()を使用したの
ですが一つ理解が出来ないので教えて頂ければと思います。

// _root
var shopDATE = new Array("hoge","hoge2");
with(rakeem.rakeem2) {
swfName = _root.shopDATE[0];
shopName.text = _root.shopDATE[1];
_y += 20*i;
}
とすればrakeem.shopName.textにはキチンとデータが入るのでrakeem.swfNameにもデータが入っていると
思い込んでいたのですがundefindでした。
ちなみに_yはキチンとrakeem._yに効いています。
swfNameはrakeemでは無く記述している_root上にswfNameが出来ていました。

with(rakeem)を使用してrakeem.swfNameにストリングとかを
格納するにはどうすれば宜しいのでしょうか?

初歩的な質問ですが宜しくお願い致します。
現在は
var OBJ = rakeem.rakeem2;
としてパスを格納してwith()に代用しようかなと思っています。

youich
Åê¹ÆNo.8217
投稿日時: 2004-6-12 0:46
職人
居住地: kobe
投稿: 349
使用環境:
Tiger
Re: with()について。
引用:



with(rakeem)を使用してrakeem.swfNameにストリングとかを
格納するにはどうすれば宜しいのでしょうか?


helpより

with アクション内に変数を設定するには、with アクションの外側で変数を宣言しておくか、変数を設定するタイムラインへのフ ルパスを入力する必要があります。変数を宣言せずに with アクションに設定すると、with アクションはスコープチェーンに 従って値を検索します。変数がまだ存在しない場合、with アクションが呼び出されたタイムライン上に新しい値が設定されま す。

と書いてありました。


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

野中文雄
Åê¹ÆNo.8218
投稿日時: 2004-6-12 0:48
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: with()について。
変数swfNameの初期値は、設定されていますか? withブロック({})内に未定義変数を指定すると、スクリプトを記述したタイムラインに変数が設定されます。
引用:
Flash MX ActionScript辞書:
withアクション内に変数を設定するには、withアクションの外側で変数を宣言しておくか、変数を設定するタイムラインへのフルパスを入力する必要があります。...[中略]...変数がまだ存在しない場合、withアクションが呼び出されたタイムライン上に新しい値が設定されます。

引用:
rakeemさんは書きました:
制作環境はMac OS9.2.2 FLASH MXです。
...
// _root
var shopDATE = new Array("hoge","hoge2");
rakeem.rakeem2.swfName = "";  //【初期値設定】
with(rakeem.rakeem2) {
swfName = _root.shopDATE[0];
shopName.text = _root.shopDATE[1];
_y += 20*i;
}

とすればrakeem.shopName.textにはキチンとデータが入るのでrakeem.swfNameにもデータが入っていると
思い込んでいたのですがundefindでした。
ちなみに_yはキチンとrakeem._yに効いています。
swfNameはrakeemでは無く記述している_root上にswfNameが出来ていました。

withは、他にも若干クセがあるので、あまり使われることをお勧めしません。とくに接尾辞が有効なオブジェクトについては、短い変数名に代入した方が、コードヒントも使えて便利です。
_mc = rakeem.rakeem2;
_mc.swfName = _root.shopDATE[0];
...[後略]...


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

rakeem
Åê¹ÆNo.8219
投稿日時: 2004-6-12 0:58
半人前
居住地: Osaka,Japan
投稿: 53
使用環境:
windows 2000,Flash MX
Mac OS 9.2.2,Flash MX
Mac OS 10.3.3 Flash MX2004pro
Re: with()について。
youichさん、野中文雄さんご返信ありがとうございます。

ヘルプを理解してませんでした。
rakeem.rakeem2.swfName = "test";
と何かを入れておかないと駄目なんですね。
面倒ですね、思ったより。

やっぱりクセがあるのですね

_mc = rakeem.rakeem2;
_mc.swfName = _root.shopDATE[0];

このやり方で進めて行きます。
コードヒントも使えるので便利ですよね。

初歩的な質問なのにレスありがとうございました。
理解出来ました。

もう少しヘルプを良く読まないと・・・。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

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