swcからコンパイルされたアセットとコードを使用しようとしています。 新しいflaの中で、エクスポートするときに含めるswcを選択します。 コードのタイムラインにインスタンスを作成すると、swc内にあるアセットが表示され、同じオブジェクトのプロパティがトレースされます。 問題はムービークリップ内で同じものを実行し、アセット(movieclip)に到達できない場合でも、クラスからプロパティをトレースできます。ムービークリップ内のswcインスタンスクラス
私は作業ファイルをアップロードしました: master.flaはswcを作成するものです。 template.flaはswcをテストする場所です。
files(これはあるCS4 .FLA + .swc +の.as)
EDIT: どのように私は持っていた問題が再現する:
0.1を新しいmaster.flaを作成し、それを作りますswcをコンパイルします。
.2 master.flaタイムラインで、テキストフィールドを作成し、インスタンス名を "tfield"にしてMovieClipを作成します。
.3 TextBox.asクラスを作成し、パブリック変数 "tfield"を定義します(これは、あなたのムービー内にあるTextFieldアセットを取得します)。
.4ライブラリリンクでは、新しく作成されたMovieClipをTextBoxクラスにリンクします。
.5エクスポートすると、TextBoxクラスのインスタンスが表示されます。 SWCを使用して
:
0.1は、新しいFLAを作成し、タイムラインのソース
0.2オープン最初のフレームとしてmaster.swcを使用して、次のコードを記述します
var tf : TextBox = new TextBox();
addChild(tf)
を
これは期待どおりに動作し、TextBoxのインスタンスを作成し、TextFieldが内部に表示されるはずです。
.3前のコードをコメントして、この時間をMovieClipに書き込んでタイムラインにドロップします。コードは動作しますが、 "tfield"にはアクセスできません。あなたはそれを見ることもできません。
解決法: Danielから指摘されているように、コードを含むMovieClipにリンケージIDを付けるだけです(TextBoxクラスIDを与えないで、 "lalala"のような新しいクラスを作成するようにしてください)。
ありがとうダニエル!
ダニエルありがとうございました。それだった!私は私の質問を読んでいたので、私は自分のことをお尻のように説明しました。彼らが同じ状況にいると他の人にはもっと意味をなされることを望んで、私は質問を更新します。そして、再び、ありがとう! –
メインのタイムラインに 'var b:TextBox'を追加することもできます。もう1つのことは、参照を持つ1つのmovieClipにリンケージIDを追加することです: 'var ref:TextBox'それはFlashコンパイラがクラスを作成する際に問題があるように見えます。私はフレックスコンパイラを使用するだけで、この問題は以前は見たことがありません。 – Daniel