« という名前のメソッドはありません。(その1) | メイン | 関数以外で関数の呼び出しが実行されました。 »

という名前のメソッドはありません。(その2)

**エラー** /Users/yoshi/Documents/(省略)/NextCardDragDrop.as: 行 103:NextCard' という名前のメソッドはありません。
 NextCard.dropCard(cdObj);

さて、このエラーの原因はどこにあると推測できるでしょうか?

この場合、みつからないメソッドと言われている「NextCard」が本当にメソッドなのか?ということに気付く必要があります。式から推測するとNextCardはクラス名かインスタンス名のほうが自然です。正解はNextCardクラスが見つからないというバグです。
では、なぜNextCardクラスが見つからないのでしょう?原因は2つ考えられます。

1. NextCardのスペルがクラス定義ファイルと一致していない。つまり、NextCard.asという名前のクラスファイルがない。
2. NextCardのクラスパスが間違っている。

原因が2の場合、NextCard .asがflaファイルと別のフォルダに保存してある場合です。importでクラスパスの指定を行えば解決します。次のような式でcommonフォルダに入っているクラスを読み込めるようになります。

import com.oshige.common.*;

これは、flaファイルと同じフォルダにcomフォルダがあり、その中にoshigeフォルダ>commonフォルダと階層があって、commonフォルダにNextCard .asが入っている場合です。importの指定はclass{}より前に書きます。

import com.oshige.common.*;
class com.oshige.edit.EditPlayList extends PlayListSetter {
...
}

投稿者 oshige : 2006年12月06日 13:23