1

以前、私は次の構造を使用しました:

Canvas -> Screen1
Canvas -> Screen2

アプリケーションの共通ロジックが必要だと感じたら、次に次のことを行います。

Canvas -> Screen
Screen -> Screen1
Screen -> Screen2

だから私が自分のコードにそれを適用しようとすると

if(child is Screen){
    return child.localToGlobal(new Point()).x;
}

動作しません!デバッガーで見ると、子のタイプは「Screen2」ですが、「child isScreen」はfalseを返します(「Screenの子インスタンス」も)。コンパイラキーを適用すると: "-keep-generated-actionscript" Screen2-generated.asが表示され、そこに含まれています

public class Screen3 extends screens.Screen

よろしくお願いします私の醜い英語=)

4

1 に答える 1

2

問題はこの特定の名前にあると思います-Screen(flash.display- http://livedocs.adobe.com/flex/3/langref/flash/display/Screen.html)とFlexというクラスがすでにあります元の画面のインスタンスかどうかを確認します。

次の 2 つのことを試すことができます。

1) Screen クラスの名前を CustomScreen に変更して、もう一度試してください。

2)フルパスを参照して、子がクラスのインスタンスであるかどうかを確認します。if (child is screens.Screen)

于 2010-07-05T12:09:54.060 に答える