-1

インターフェイスを実装するベースクラスがあります。私はこの基本クラスを「テンプレート」として使用します(セマンティクス、Java / C ++テンプレートについては話していません)。

Flash CS5 IDEで、これらのインターフェイスメソッドをオーバーライドしたいと思います。はい、それらは基本クラスに実装されていますが、framescriptでそれらをオーバーライドしようとすると、私がスローされます(はい、これはおそらくクリーンなデザインではない可能性があります):

Symbol 'GameTest', Layer 'Layer 1', Frame 1, Line 1 1024:
        Overriding a function that is not marked for override.

フレームスクリプトがどのスコープで機能するのか正確にはわかりません。そして、framscriptとは、タイムラインフレーム1を意味します。

私の基本クラスでは:

public class MiniGameTemplate extends MovieClip implements IMiniGame
{ 
   public function MiniGameTemplate()
   {

   }


   public function update():void 
   {

   }
}

私のライブラリオブジェクトの最初のフレーム:

 override function update():void
{

}

基本クラスからライブラリオブジェクトを継承するために、actionscriptリンケージを使用しています。フレームスクリプトをクリアすると、正常に実行されます。エラーはありません。

4

1 に答える 1

1

メソッドをオーバーライドするときは、オーバーライドするメソッドを元のメソッドとまったく同じように構造化する必要があります。この場合、publicアクセス修飾子ステートメントを見逃しています。

解決:

override public function update():void {

}
于 2012-12-04T22:04:52.617 に答える