|
Flash CS3 新米ですみません。ドキュメントクラスのメンバがコンフリクトしているという警告が出て困っています。 ステージに、a_txt という名前のテキストフィールドを配置しました。そして、ドキュメントクラスを以下のように作りました。
package {
import flash.display.MovieClip;
import flash.text.TextField;
public class DocTest extends MovieClip
{
public var a_txt:TextField;
}
}
Flash8の時は、これで普通にコンパイルできたのですが、CS3では、以下のようなエラーがでます。 1151: 定義 a_txt (名前空間 internal) にコンフリクトが存在します。 どうしたら解決できるでしょうか。 それで暫定的な対応は以下の通り。コード補完用のフィールドを作って、そこに本来の名前のプロパティを代入しておくというもの。
package {
import flash.display.MovieClip;
import flash.text.TextField;
public class DocTest extends MovieClip
{
public var _a_txt:TextField;
public function setLink():void {
_a_txt.text = this.a_txt;
}
}
}
もっといい方法があるはず!! なぜか、2ちゃんねるで質問してみたら、答えが得られました!! > それパブリッシュの設定のAS3.0の設定で、「ステージのインスタンスを自動宣言」外せばコンパイル通るよ。ここチェックしてあると、内部的に、自動的にインスタンス名と同じ変数の宣言と、インスタンスへの参照が補完されるから、コンフリクト起こすらしい。 感謝。
コメント
→コメント編集
|