• ベストアンサー

シンボル(ムービー)内のTextinputの値取得について

ActionScriptの記述に関して非常に困っています。 シンボル(ムービー)内に配置したTextinputコンポーネントの値を取得しようとしています。 ムービークリップ名.シンボル名.Textinput名.text をtraceすると未定義となります。 ※同様に「テキスト入力」を配置した場合は、読めます。 ※また、_x を表示すると値が見れるのでパスの指定は問題ないように思えます。 ムービー内のTextinputには、特殊な値参照が必要なのでしょうか? 毎度、BP頼りで申し訳ありません。 どなたか、宜しくお願い致します。

  • Flash
  • 回答数2
  • ありがとう数2

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.2

#1です。 状況がわかりましたし,確かにそうなりますね(私は Flash 8 ですが)。 原因はわかると言えばわかります。 コンポーネントがステージ上に呼び出されたのは良いけど,まだ目覚めていない状態のようです。 別のボタンを作成して, -------------------------- on (release) { trace(C.A.B.text); } -------------------------- と書いておいて, まず最初に作成されたボタンをクリック後, このボタンをクリックするとちゃんと TextInput の text プロパティは取得されます。 なかなか,良い対処法が思いつきませんが, 1つの対処法として,シンボルA 内の TextInput 自体に次のように書いておきます。 ------------------------ on (load) { trace(this.text); } ------------------------ そして,作成されたボタンをクリックすると, TextInput の text プロパティ が取得されます。 あまり良い対処法ではありませんが...。

OkMoguMogu
質問者

お礼

sassakun様 お世話になります。 上記の対応で、上手くいきました。 目的を何とか果たせましたので、助かりました。 どうも有難うございました。 ※試してみましたが・・Buttonも同様ですね。 sassakun様、今後とも宜しくお願いします。

その他の回答 (1)

noname#35109
noname#35109
回答No.1

Flashドキュメンテーション TextInput コンポーネント > TextInput クラス http://livedocs.adobe.com/flash/8_jp/main/00004067.html 上のURLページの半分より少し上に, > TextInput クラスのプロパティ一覧 > --------------- > TextInput.text > TextInput コンポーネントのテキストの内容を設定します。 にも書いてありますし, 質問でも書かれていらっしゃるように, 「.text」プロパティで普通に取得できましたよ。 _root のステージ上に,TextInputコンポーネントを配置し, そのTextInputコンポーネントを選択した状態で, 下のプロパティインスペクタからインスタンス名を付けます。 たとえば,「myInput」 というインスタンス名をつけたとします。 同じくステージ上にボタン(ボタンシンボルのインスタンス)を作成し, そのボタンに, --------------------- on (release) { trace(myInput.text); } --------------------- もしくは, --------------------- on (release) { trace(_root.myInput.text); } --------------------- と書き,「制御」→「ムービープレビュー」。 ムービープレビューで表示された,TextInput に何かを記入し, ボタンをクリックするとちゃんと TextInput に記入した文字列が取得できました。 > ムービークリップ名.シンボル名.Textinput名.text この場合に限らずシンボル名はスクリプトに全く関係しません。 シンボル名は,FLAファイルオーサリングツール(つまりFlash作成ソフト)内だけにある, 人間の使い勝手を考えただけのシンボルの名前で, SWF 内に持ち込まれることはありませんから,全く関係しません。  (ターゲットパス).インスタンス名.text です。

OkMoguMogu
質問者

補足

sassakun様 回答、有難うございます。 _root のステージ上の,TextInputコンポーネントは、.textで読めています。 しかし、新規シンボル上に配置したTextInputが読めません。 詳細手順を下記に記述させていただきます。もし、お時間があればお試し下さい。 (1)挿入-新規シンボルで新規シンボルを作成  名前「A」  タイプ「ムービー」  リンケージ 識別子「A」   ・ActionScriptに書き出し 「チェック」   ・最初のフレームに書き出し 「チェック」 (2)「A」シンボル上にTextInputコンポーネントを配置  インスタンス名「B」 (3)_rootへボタンを配置 (4)ボタンのインスタンスへアクション記述 on (release) { this.createEmptyMovieClip("C",100); C.lineStyle(1,0x0000FF); C.attachMovie("A","A",100); trace(C.A.B._x); //※1  trace(C.A.B.text); //※2 } ボタンをクリックすると、※1は正常表示、※2未定義になります。 TextInputではなく、T「テキストツール」で作成した入力エリアは、同様の手順で読めています。 ちなにFlashは、「Flash CS3 Professional」を使い、WindowsXPです。 sassakun様、皆様 御存知の方がおられたら宜しくお願いします。

関連するQ&A

  • ムービークリップをスクロール操作させる方法は?

    createEmptyMovieClip()で作成した空のムービークリップ_mcがあり, このムービークリップ_mcの配下に,createTextField()で作成したテキストエリアやcreateEmptyMovieClip()で作成したボタン等を配置しています. このムービークリップ_mcを,ScrollPaneコンポーネントを適用して,又は別の方法で,スクロール操作できるようにしたいのですが方法が分かりません. ご教授お願います. Flash8:ActionScript2.0

    • ベストアンサー
    • Flash
  • テキスト入力と同じ名前のムービークリップを配置したい

    FLASH8を使っています。 動物のムービークリップがいくつかあり、シンボルプロパティで名前と識別子を同じものに設定しました。例えば「うま」というようにひらがなで同じ名前が入力されています。 リンケージの「ActionScriptに書き出し」と「最初のフレームに書き出し」にはチェックが入っています。 ステージ上のテキストフィールドに「うま」と入力し、ボタンをクリックすると同じ名前のムービークリップシンボルがステージ上に配置されるようにしたいのですが、どのように書けばいいでしょうか? 宜しくお願い致します。

    • ベストアンサー
    • Flash
  • シンボルをコピーしたい (FlashMX2004)

    テキスト(グラフィック)を含む ムービークリップ(シンボル)を作成しました。 このムービークリップを複製して 2つシーン上に置きました。そこで片方の テキスト部分を変更すると、もう1つも変更されてしまいます。 文字の部分を新たにテキストシンボルに 変換しても、両方変換されます。 テキストのみ変更して、同じムービーシンボルを 利用するにはどうすればよいのでしょうか?

    • ベストアンサー
    • Flash
  • ムービークリップに配置されているボタン

    Thinking Flash というテキストのInterface 04のサムネールプレゼンテーションを自分のサイトに使いたいと移植?していたのですが、ムービークリップシンボル内にボタンシンボルが配置されていて、その部分の説明は省かれていて、どのようにすればムービーの中にボタンをしこめるのかわからず迷路に入ってしまいました。きっとすごく初歩的なことなんだと思うのですが、まったく検討がつきません。宜しくご教授頂けると助かります。宜しくお願い致します。

  • 7秒後にフレーム5へ移動してムービークリップを再生

    はじめまして。 FLASH初心者です。 レイヤー1~5の5フレームごとにムービークリップを配置しています。 レイヤー1の1フレーム目に配置してあるムービークリップが再生されて、7秒後にレイヤー2の5フレーム目に配置してあるムービークリップを再生し、(レイヤー3~5も同様に…)レイヤー5に配置してあるムービークリップの再生が終わったら、また7秒後にレイヤー1のムービークリップが再生される…といったように繰り返すにはどのようなActionScriptにすればよいのでしょう? 色々、試行錯誤したのですがうまくいきません。 どなたか教えて頂けませんか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • removeChildで描画した絵(シンボル:ムービークリップ)を消し

    removeChildで描画した絵(シンボル:ムービークリップ)を消したい。 お世話になります。 adobe Flash pro ActionScript 3.0 で作成しております。 左クリックを押したら、 var mc:pen=new pen; addChild(mc); mc.x=mouseX; mc.y=mouseY; でpenというムービークリップを表示させるようにしております。 removechildで消せるということはわかっているのですが、 具体的にどのようにしたら消せるのでしょうか? (1)直前に書いたmcを削除する方法 (2)今までに書いた全てのmcを削除する で教えて頂ければと思いますのでよろしくお願いします。

    • ベストアンサー
    • Flash
  • addChildで描画した絵(シンボル:ムービークリップ)を消したい。

    addChildで描画した絵(シンボル:ムービークリップ)を消したい。 お世話になります。 adobe Flash pro ActionScript 3.0 で作成しております。 左クリックを押したら、 var mc:pen=new pen; addChild(mc); mc.x=mouseX; mc.y=mouseY; でpenというムービークリップを表示させるようにしております。 そこで、作成したmcを消す方法はどのようにしたらよいでしょうか? (1)直前に書いたmcを削除する方法 (2)今までに書いた全てのmcを削除する で教えて頂ければと思いますのでよろしくお願いします。

    • ベストアンサー
    • Flash
  • getBytesでシンボルのバイト数を得れますか?

    初歩的な質問で恐れ入ります。 シーン上に、 ライブラリより配置した ムービークリップシンボル個の バイト数を得れますでしょうか? 可能でしたら具体例にて お教え下さいましたら幸いです。 よろしく御願い致します。

    • ベストアンサー
    • Flash
  • Flash フレームを指定してムービークリップ再生

    ActionScript超初心者です。 よろしくお願いします。 ステージ上にボタン「A」「B」「C」を配置、 ボタン脇のスペースにムービークリップを配置、各ボタンで切り替え再生させたいと思っています。 2フレーム目に簡単なアニメーションのムービークリップ「animA」を、 3フレーム目に同様の「animB」4フレーム目に「animC」を配置し、 各ボタンon (release)で各ムービークリップの再生をしたいのですが うまくいきません。 どこにどのようなスクリプトを書けば良いか教えていただけないでしょうか。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • ボタン・ムービーの操作について

    マスクレイヤーの配下のレイヤーに複数のムービーシンボルを配置します。その複数のシンボルを一つのムービーシンボルにします。 個々のムービーシンボルが押下されたら、シーン1(Level0)の当該フレームにジャンプさせたいのですが、Scriptでどういう指定をすれば良いのでしょうか?。 ・aa.onPress = function { gotoandplay(20) ; } ------->無反応 ・aa.onPress = function { _root.gotoandplay(20) ; } ------->無反応 TraceでScriptが正しく動作している事は確認しました。 どうぞ宜しくお願い致します。

専門家に質問してみよう