メイン とにかくFLASH【FLASHに関して全般】 importについて教えてください2 | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
ゲスト | Åê¹ÆNo.4926 投稿日時: 2004-3-12 20:25 |
importについて教えてください2 importについて教えてください
はじめまして、EARTHDAWNです。Flash初心者です。 今後ともよろしくお願いいたします。 クラスのimportがうまく行かず悩んでいます。 ご指導をよろしくお願いします。 以下のディレクトリ構造でファイルを格納しています。 C:\fratest\controler\collection\Collection.as C:\fratest\controler\collection\CollectionItem.as Collection.asです. -- class controler.collection.Collection { public function Colection():Void { } } -- CollectionItem.asファイルです -- class controler.collection.CollectionItem { var aaa :Collection; public function ColectionItem():Void { } }-- Collection.asでシンタックスチェックを行いエラーは発生しません。 CollectionItem.asでシンタックスチェックを行いエラーは発生しません。 ここで、シンタックスチェックを行うとエラーが発生するようになりました。 エラー内容 -- **エラー** C:\fratest\controler\collection\Collection.as: 行 2:コンパイルされたクラス 'controler.collection.Collection' が読み込まれたクラス 'Collection' に一致しません。 { ActionScript エラー数 :1 報告済みエラー :1-- Classpathは下のようになっています。 ---------------------------------- $(LocalData)/Classes C:\fratest . ---------------------------------- の3件を設定しています この先どのようにすればよいかわかりません。 ご指導をよろしくお願いします。 WinXP Home MX2004 Pro PS.くまのさんの質問も見てみましたが、よくわかりませんでした。 似たような話題ですいません。 ---------------- EARTHDAWN |
|
野中文雄 | Åê¹ÆNo.4928 投稿日時: 2004-3-12 21:25 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: importについて教えてください2 本論の前に、各クラスにpublicしているfunctionは、メソッドですか? 意図的にlをひとつにして、クラス名と違えてあるのでしょうか? コンストラクタ関数でしたら、戻り値の指定はエラーになります。
引用: WinXP Home |
ゲスト | Åê¹ÆNo.4929 投稿日時: 2004-3-12 21:34 |
Re: importについて教えてください2 すいませんでした。コンストラクターのつもりで書きました。
class controler.collection.Collection { public function Colection() { } } class controler.collection.CollectionItem { var aaa :Collection; public function ColectionItem(){ } } 上記の誤りでした。シンタックスエラーは相変わらずコンパイルエラーが出ます。 |
|
野中文雄 | Åê¹ÆNo.4930 投稿日時: 2004-3-12 22:02 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: importについて教えてください2 えーと、先のポストでスクリプトにコメントを入れていたはずですので、読んでくださいね。(^^; 念のため、再度コメント入れます。
引用: EARTHDAWNさんは書きました:
全然直っていないですからね。 引用: 上記の誤りでした。シンタックスエラーは相変わらずコンパイルエラーが出ます。 |
ゲスト | Åê¹ÆNo.4932 投稿日時: 2004-3-12 22:13 |
Re: importについて教えてください2 野中さんありがとうございます。
こちらで実験した現状を書きます。 var aaa :controler.collection.Collection; 、でコンパイルエラーが出なくなりました。 上記を var aaa :Collection; にし、 import controler.collection.Collection; をつけたら、コンパイルエラーは出なくなりました。 import controler.collection.*; では、コンパイルエラーです。 |
|
野中文雄 | Åê¹ÆNo.4948 投稿日時: 2004-3-13 14:38 |
ちょんまげら 居住地: 東京 投稿: 4531
使用環境:
CS5.5 .6.8 Vista Home Premium (SP1) |
Re: importについて教えてください2
|
ゲスト | Åê¹ÆNo.5105 投稿日時: 2004-3-17 11:31 |
Re: importについて教えてください2 野中さん、お返事ありがとうございます。 返事遅れてすいません。 こちらでも再度、検証を行ってみます。また、返事します。 |
|
渡辺真太郎 | Åê¹ÆNo.5108 投稿日時: 2004-3-17 12:00 |
新米 居住地: 神奈川県相模原市 投稿: 20
使用環境:
MX2004 XP |
Re: importについて教えてください2 このimport現象ですが、
1.Flashはコンパイルを行うと asファイルをswfに吐き出す前に、そのasファイルの中間コードのようなものを出力している様子です。 C:\Documents and Settings\<USER_NAMW>\Local Settings\Application Data\Macromedia\Flash MX 2004\ja\Configuration\Classes\aso の中のasoファイルです。 asファイルが更新されていないときは その中間コードを参照して、コンパイルの時間を短縮している と推測されますが、asファイルが更新されると今度は コンパイル時に新しく、asoファイルを更新するようです。 class A と class B が相互参照を行っていたときには class Aが書き換わりますので、Aのaso書き換わります。 このとき、B側ではasoが更新されないので、古いA のaso を参照してしまっているために、コンフリクトという状況になる様です。 状況を再現するには、class A と class Bをつくり、 わざと片方にシンタックスエラーができるように書き換えます。 その後、シンタックスエラーが無いように書き戻すと コンフリクトというエラーだけが表示されます。 class Aにシンタックスエラーがないのであれば、 class B側でシンタックスチェックを行うか(シンタックスチェックときにもasoファイルを生成している?)、ClassA側でも何回かシンタックスチェックをしていればそのうちエラーがでなくなります。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |