メイン とにかくFLASH【FLASHに関して全般】 importについて教えてください | 投稿するにはまず登録を |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
kumano | Åê¹ÆNo.4254 投稿日時: 2004-2-26 14:24 |
新米 居住地: 東京都 投稿: 9
使用環境:
Pro MX2004 7.0.1 |
importについて教えてください はじめまして、kumanoです。Flash初心者です。
今後ともよろしくお願いいたします。 FlashMX2004でMCVCモデルを学習しています。 クラスのimportがうまく行かず悩んでいます。 ご指導をよろしくお願いします。 以下のディレクトリ構造でファイルを格納しています。 E:\flash_lib\view\MyView.fla E:\flash_lib\controller\MyController.as MyController.asファイルです MyController.asファイルです -- class MyController { public function MyController(){ } public function helloText():Void{ trace("Hello!!"); } } -- MyView.flaファイルです -- import flash_lib.controller.*; var myCtrl = new MyController(); myCtrl.dispText(); trace("終了"); -- MyView.flaでシンタックスチェックを行いエラーは発生しないのですが、プレビューを実行しても、"Hello!!"が表示されません。"終了"は表示されるため、MyControllerクラスが正しく認識されていないと思っています。 そこで、MyView.flaファイルのクラスの初期化部分にMyConrollerを付けてみました。 -- var myCtrl:MyController = new MyController(); -- ここで、シンタックスチェックを行うとエラーが発生するようになりました。 エラー内容 -- **エラー** シーン = シーン 1, レイヤー = レイヤー 1, フレーム = 1 :行 3:クラス 'MyController' がロードされませんでした。 var myCtrl:MyController = new MyController(); ActionScript エラー数 :1 報告済みエラー :1 -- この先どのようにすればよいかわかりません。 ご指導をよろしくお願いします。 WinXP Pro MX2004 7.0.1kumanoclub@mars.livedoor.com
|
KURAGE | Åê¹ÆNo.4255 投稿日時: 2004-2-26 15:15 |
常連 居住地: 東京都 投稿: 199
|
Re: importについて教えてください こんにちは
とりあえず myCtrl.dispText(); を myCtrl.helloText(); に修正してみても駄目でしょうか? またコンストラクタ内でも何かtraceしてあげると エラーが特定しやすくなるかもしれません
|
kumano | Åê¹ÆNo.4259 投稿日時: 2004-2-26 15:34 |
新米 居住地: 東京都 投稿: 9
使用環境:
Pro MX2004 7.0.1 |
Re: importについて教えてください kurageさん
回答ありがとうございます。 myCtrl.dispText(); を myCtrl.helloText(); に修正してみました。すいません、これは単純なミスでした。 コンストラクタ内もtraceしてみましたが、結果は変わりませんでした。 public function MyController(){ trace("MyController!!"); } また、 var myCtrl:MyController = new MyController(); の記述を使用するとスクリプトチェックでエラーが出る部分は変わっていません。 importを使用する前にはクラスパスの登録をする必要があるのでしょうか?
|
youich | Åê¹ÆNo.4260 投稿日時: 2004-2-26 15:41 |
職人 居住地: kobe 投稿: 349
使用環境:
Tiger |
Re: importについて教えてください 引用:
デェフォルトのパス以外の場所にクラスファイルを置く場合は登録する必要がありますよ。 kumanoさんのfla内のコードならE:を追加 fla内で import controller.*; とするなら E:?flash_libを追加です。。
|
KURAGE | Åê¹ÆNo.4262 投稿日時: 2004-2-26 15:42 |
常連 居住地: 東京都 投稿: 199
|
Re: importについて教えてください 引用:
importを使用する前にはクラスパスの登録をする必要があるのでしょうか? デフォルトで設定されてるパス以外ですと必要になります [パブリッシュ設定] ↓ [ActionScriptのバージョン-設定] でクラスパス E:\ を追加してみてください |
kumano | Åê¹ÆNo.4270 投稿日時: 2004-2-26 17:29 |
新米 居住地: 東京都 投稿: 9
使用環境:
Pro MX2004 7.0.1 |
Re: importについて教えてください yoichiさん
返答ありがとうございます。 クラスパスを追加する必要があったのですね! 教えていただいたようにE:を追加してみました。
が出てしまいコンパイルが通りません。 MyControllerを同じフォルダ内のflaファイルから呼びだしたときはうまく動作します。 E:\Test.flaからMyControllerを実行した結果
--MyController
クラスパスについては理解できたのですが、なぜコンパイルが通らないかわかりません。単純なミスかもしれませんが、はまっています。
|
kumano | Åê¹ÆNo.4271 投稿日時: 2004-2-26 17:31 |
新米 居住地: 東京都 投稿: 9
使用環境:
Pro MX2004 7.0.1 |
Re: importについて教えてください kurageさん
返答ありがとうございます。 yoichiさんより頂いた回答で現在格闘中です。
|
KURAGE | Åê¹ÆNo.4276 投稿日時: 2004-2-26 18:25 |
常連 居住地: 東京都 投稿: 199
|
Re: importについて教えてください AS2の仕様で(?)、クラス名自体にパスを付けなければいけないようです。
以下ヘルプより引用 引用: クラス名は、宣言されたファイル内における完全修飾名である必要があります。 つまり 以下のようにクラス名を宣言する必要があるみたいです
|
kumano | Åê¹ÆNo.4284 投稿日時: 2004-2-26 19:34 |
新米 居住地: 東京都 投稿: 9
使用環境:
Pro MX2004 7.0.1 |
Re: importについて教えてください kurageさん
返答ありがとうございます。 クラス名の完全修飾を行い、無事に問題を解決することができました。 ありがとうございました。
|
Duke15 | Åê¹ÆNo.4287 投稿日時: 2004-2-26 19:55 |
常連 居住地: 埼玉 投稿: 196
使用環境:
XPpro,2Kpro, MX2004prov7.2 FlashPro8 Flash9Preview α Player8r24 Player9.0.16 Player7r63 Firefox1.5.0.5 IE6,NB8.1en |
Re: importについて教えてください 解決後でなんですが・・
パブリッシュ設定-->ActionScript2.0-->クラスパス を参照で設定すれば import MyController; のままでも、 いいんじゃないでしょうか。 引用:
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |
投稿するにはまず登録を | |