- ベストアンサー
FLASH8 チェックボックスのプロパティ変更方法と使い方
- FLASH8でのチェックボックスのプロパティ変更方法について教えてください。
- タイムラインに配置したCheckBoxのプロパティを変更する方法を教えてください。
- ヘルプを調べたが、わからなかったので、チェックボックスの使い方を教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- BlurFiltan
- ベストアンサー率91% (1611/1754)
コンポーネントというのは,結局ムービークリップなんですよ。 つまり, それ自体が1つの階層であり, その中にさらに階層(ムービークリップ)やプロパティがあるんです。 簡単に言えば ボタンインスタンスに on(release){…} を書く気分で on (click){…} を書くのではなく, ムービークリップ自体に on(release){…} を書く気分で on (click){…} を書く必要があるのです。 つまり,コンポーネントインスタンス自体に, on (click) { BGM.label = "ラベル変更しました"; } と書いた場合, そのコンポーネントの中にある「BGM」というインスタンス名のムービークリップの label プロパティの値を 「ラベル変更しました」 にする。 ということになってしまうということです。 そうではなくて, コンポーネント自体の label プロパティの値を 「ラベル変更しました」 にするのですから, on (click) { this.label = "ラベル変更しました"; } とするのが普通です。 ======== あえて,BGM というインスタンス名を使う場合は, 相対パスで on (click) { this._parent.BGM.label = "ラベル変更しました"; } または,絶対パスで on (click) { _root.BGM.label = "ラベル変更しました"; } とする必要があります。
補足
上記の内容をチェックボックスをクリックして アクションスクリプトをクリックして記述しました。 すべてのパターンを試したのですが、 on(Click)イベントの中にtrace()で分かるように チェックしてみたところ、値は undefinedになっておりました。 念のためにパブリッシュの設定でAS2.0を確認したましたが どうしても意図した値をプロパティに代入できておりません。 何が原因なのでしょうか。
お礼
無事に動作しました。 おかげでFLASHが楽しくなりました。 ありがとうございました。