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

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     ムービークリップ内のチェックボックスの選択と選択解除が指定できません
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
etsukan
Åê¹ÆNo.4347
投稿日時: 2004-2-28 17:14
新米
居住地:
投稿: 3
使用環境:
win2000,Flash MX
ムービークリップ内のチェックボックスの選択と選択解除が指定できません
教えてください。

テキストとチェックボックスのムービークリップを作成し、
作成したムービークリップのテキストに値を挿入し、
チェックボックスに選択または選択解除をセットしよう
としています。

テキストへは値を挿入することができたのですが、
チェックボックスはセットできませんでした。
デフォルトはtrueで、これをfalseに変更したいのですが・・・

スクリプトは以下の通りです。

var amount = 10;
var i = 0;
new MovieClip();
var baseMC = _root.createEmptyMovieClip("M_field", 0);
trace(baseMC);
while (amount>0) {
var subMC = baseMC.attachMovie("Meisai","meisai" + i, i );
trace(subMC);
subMC._x = _root.meisai._x;
subMC._y = _root.meisai._y + 30 * i;

// テキストへ値挿入
subMC.txtM1.text = array_M1[it];
subMC.txtM2.text = array_M2[it];
subMC.txtM3.text = array_M3[it];
// チェックボックス選択解除
subMC.ChkM.setValue(false);

i++;
amount--;
}

ActionScript辞書等いろいろと参考にしましたが、
うまくいきません。
何かわかりましたら教えてください。
よろしくお願いします。




野中文雄
Åê¹ÆNo.4349
投稿日時: 2004-2-28 19:26
ちょんまげら
居住地: 東京
投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1)
Re: ムービークリップ内のチェックボックスの選択と選択解除が指定できません
まずご質問は、回答者が問題の部分について同じ内容のムービーが作成できる程度に、具体的にご説明ください。

そうすると説明が長くなり過ぎるとすれば、それは問題の切分けをされていないからです。
引用:
etsukanさんは書きました:
テキストとチェックボックスのムービークリップを作成し、
...
チェックボックスに選択または選択解除をセットしよう
としています。

問題のないテキストに値を設定する処理は、ご説明からもスクリプトからも除いてください。アリバイのある関係者を、容疑者から外すのと同じです。それをせずに聞込みを進めるのは、手当たり次第のキャッチセールスと一緒です。
引用:
テキストへは値を挿入することができたのですが、
チェックボックスはセットできませんでした。

Flash MXのCheckBoxコンポーネントでは、[Inital Value]のデフォルトはfalseのはずです。etsukanさんが、ご自分で作成されたMovieClipシンボル中の設定をtrueにされたということではないかと「想像」します。
引用:
デフォルトはtrueで、これをfalseに変更したいのですが・・・

問題のスクリプト中で、TextFieldインスタンスに関わる処理は、事件と無関係です。逆にMovieClip.attachMovie()メソッドを使われていますので、設定した識別子やシンボル中のCheckBosインスタンス名は、なくてはならない重要情報です。ループ処理も、問題と直接関係のない部分でしょう。

これらを整理して、切分けしたうえで問題を絞込めば、原因がつきとめられるはずです。
引用:
スクリプトは以下の通りです。

// フレームアクション
// MovieClipシンボル: 識別子"Meisai"が必要
// MeisaiにはCheckBoxインスタンスChkMを配置
// ChkMの[Inital Value]はtrueに設定
// var amount = 10;
var i = 0;
// new MovieClip();  //<-*これは何ですか?
var baseMC = _root.createEmptyMovieClip("M_field", 0);
trace(baseMC);
// while (amount>0) {
  var subMC = baseMC.attachMovie("Meisai","meisai" + i, i );
  trace(subMC);
  // subMC._x = _root.meisai._x;
  // subMC._y =  _root.meisai._y + 30 * i;		
  /* TextFieldの処理は無関係
  // テキストへ値挿入
  [省略]
  */
  // チェックボックス選択解除
  subMC.ChkM.setValue(false);
  trace(subMC.ChkM.setValue);  // 出力: undefined
  // i++;
  // amount--;
// }

MovieClip.attachMovie()メソッド実行直後には、そのシンボル中に配置されたCheckBoxインスタンスのメソッドが未定義(undefined)状態になっているようです。

1フレーム待ってからFCheckBos.setValue()メソッドの呼出しをすればよいでしょう。
// FCheckBox.setValue()メソッド呼出し部分の変更
this.onEnterFrame = function() {
	subMC.ChkM.setValue(false);
	trace(subMC.ChkM.setValue);
	delete this.onEnterFrame;
};


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

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

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