2010-12-11 6 views
1

での名前空間のエラーのインタフェース方法NEWFRAME私はTUIOはフラッシュで動作して取得しようとしていますAN私はこのエラーを取得しています:フラッシュCS5

Line 10 1044: Interface method newFrame in namespace org.tuio:ITuioListener not implemented by class TuioExampleDrawingCursor.

私は、私のようにそれを修正について何をすべきかわからないんだけど長い休憩の後にフラッシュを再学習している。ここに使用されているコードは、

package { 

    import org.tuio.*; 
    import org.tuio.osc.*; 
    import org.tuio.connectors.*; 
    import flash.display.*; 
    import flash.ui.*; 
    import flash.events.*; 

    public class TuioExampleDrawingCursor extends MovieClip implements ITuioListener { 

    private var circleSize:Number; 

    private var tuio:TuioClient; 

    public function TuioExampleDrawingCursor(){ 

     this.circleSize = 10; 

     stage.addEventListener(KeyboardEvent.KEY_DOWN, handleKeyDown); 

     stage.scaleMode = StageScaleMode.NO_SCALE; 
     stage.align = StageAlign.TOP_LEFT; 

     /* Uncomment the connection type you want to use 
     * comment or remove the other one 
     * LocalConnection is the connection method used by default 
     */ 

     this.tuio = new TuioClient(new LCConnector()); 
     this.tuio.addListener(this); 

     //this.tuio = new TuioClient(new TCPConnector()); 
     //this.tuio.addListener(this); 

    } 

    public function handleKeyDown(event:KeyboardEvent):void { 
     if (event.keyCode == Keyboard.DOWN){ 
     this.circleSize -= 2; 
     } else if (event.keyCode == Keyboard.UP){ 
     this.circleSize += 2; 
     } 
    } 

    public function addTuioCursor(tuioCursor:TuioCursor):void { 
     new Circle(tuioCursor.sessionID.toString(), stage, tuioCursor.x*stage.stageWidth, tuioCursor.y * stage.stageHeight, this.circleSize, 0xee3333); 
    } 

    public function updateTuioCursor(tuioCursor:TuioCursor):void { 
     var currentCircle:Circle = stage.getChildByName(tuioCursor.sessionID.toString()) as Circle; 
     currentCircle.x = tuioCursor.x*stage.stageWidth; 
     currentCircle.y = tuioCursor.y*stage.stageHeight; 
    } 

    public function removeTuioCursor(tuioCursor:TuioCursor):void { 
     var currentCircle:Circle = stage.getChildByName(tuioCursor.sessionID.toString()) as Circle; 
     stage.removeChild(currentCircle); 
    } 

    public function addTuioObject(tuioObject:TuioObject):void {} 
    public function updateTuioObject(tuioObject:TuioObject):void {} 
    public function removeTuioObject(tuioObject:TuioObject):void {} 
    public function addTuioBlob(tuioBlob:TuioBlob):void {} 
    public function updateTuioBlob(tuioBlob:TuioBlob):void {} 
    public function removeTuioBlob(tuioBlob:TuioBlob):void {} 
    } 
} 

です。

答えて

0

インターフェイスを実装するときは、インターフェイスに定義されているすべてのメソッドを実装する必要があります。あなたの場合、インタフェースITuioListenerで定義されたメソッドnewFrame()はTuioExampleDrawingCursorに実装されていません。 ITuioListenerからnewFrame()メソッドをTuioExampleDrawingCursorに追加してください。これはうまくいくはずです。

以下のインターフェイスを実装するクラスの例である:文書クラス主に

package 
{ 
    import com.Automobile; 
    import flash.display.MovieClip; 

    public class Main extends MovieClip 
    { 
     public function Main():void 
     { 
      init(); 

     }// end function 

     private function init():void 
     { 
      var automobile:Automobile = new Automobile(); 

     }// end function 

    }// end class 

}// end package 

、クラス自動車がインポートされ、その後、自動車のインスタンスが作成されます。

package com 
{ 
    import com.IDrivable; 

    public class Automobile implements IDrivable 
    { 
     public function Automobile():void {}// end function 

     public function startEngine():void 
     { 
      // start automobile's engine 

     }// end function 

     public function stopEngine():void 
     { 
      // stop automobile's engine 

     }// end function 

     public function accelerate():void 
     { 
      // accelerate automobile 

     }// end function 

     public function turn(p_dir:String):void 
     { 
      // turn automobile 

     }// end function 

    }// end class 

}// end package 

Automobileクラスでは、インターフェイスIDrivableがインポートされ、実装されます。 IDrivableで定義されているstartEngine()、stopEngine()、accelerate()およびturn()メソッドは、Automobileに実装されています。インタフェースIDrivableで

package com 
{ 
    public interface IDrivable 
    { 
     function startEngine():void 

     function stopEngine():void 

     function accelerate():void 

     function turn(p_dir:String):void 

    }// end interface 

}// end package 

、方法startEngine()、stopEngine())((加速)およびターンが定義されます。

インターフェイスにメソッドを実装する必要があるだけでなく、対応するメソッドには一致するシグネチャが必要です。つまり、同じパラメータと戻り値の型を持たなければなりません。

関連する問題