メイン ActionScript 3.0 特設会議室 リンケージのベースクラスについて | 投稿するにはまず登録を |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
aruru | Åê¹ÆNo.34163 投稿日時: 2007-7-16 16:47 |
新米 居住地: 投稿: 4
使用環境:
|
リンケージのベースクラスについて Flash CS3になってからリンケージの設定でベースクラスが指定できるようになっています。
(MovieClipの場合にはデフォルトではflash.display.MovieClipが当てられています) このベースクラスのどういったものなのでしょうか? 私の考えでは作成したMovieClipに当てるクラスを生成する時に、 わざわざimport flash.display.MovieClipを継承させる必要を無くすもので、 リンケージに当てるクラスのスーパークラスに当たるものだと思っています。 ただのスーパークラスなら独自に作成したクラスも使えるのかと思い、 以下のコードで試してみました。 //ドキュメントクラス package{ import flash.display.MovieClip public class Main extends MovieClip{ public function Main(){ trace( "メイン" ); } } } //作成したMovieClipのリンケージのベースクラスに当てるクラス package{ import flash.display.MovieClip; public class Test1 extends MovieClip{ public function Test1(){ } } } //作成したMovieClipのリンケージのクラスに当てるクラス package { public class Test2{ public function Test2(){ } } } 適当にMovieClipを作成し、そのMovieClipのリンケージのベースクラスに Test1クラスを当てて、リンケージの方にTest2を当ててます。 と行おうとするとリンケージの設定時にエラーが発生します。 「指定されたクラスは定義済みで自分自身のサブクラスを拡張しているので、基本クラスは使用されません。 基本クラスを使用する場合は、自動生成される[クラス]フィールドでクラス名を指定するか、 デフォルトの基本クラス'flash.display.MovieClip'を[基本クラス]フィールドに入力してください」 といったエラーになります。 これを回避するために、リンケージのクラスファイル名を実際に存在していないクラスファイル名を 指定してあげるとなぜかエラーが発生せずパブリッシュまで行えます。 ただこの方法で作られた(自動で作られたクラスファイル?)では、 実際のそのMovieClipの処理を記述する場所がわかりません。 どうにかして独自のクラスファイルをベースクラスに当てる事は可能なのでしょうか? よろしくお願いします |
フラット表示 | 前のトピック | 次のトピック |
題名 | 投稿者 | 日時 |
---|---|---|
» リンケージのベースクラスについて | aruru | 2007-7-16 16:47 |
Re: リンケージのベースクラスについて | nioia321 | 2007-7-17 5:32 |
Re: リンケージのベースクラスについて | aruru | 2007-7-17 19:14 |
Re: リンケージのベースクラスについて | Fumio | 2007-7-17 20:59 |
Re: リンケージのベースクラスについて | aruru | 2007-7-18 2:52 |
Re: リンケージのベースクラスについて | Fumio | 2007-7-18 4:16 |
Re: リンケージのベースクラスについて | aruru | 2007-7-18 10:31 |
投稿するにはまず登録を | |