2014-01-13 152 views

回答

0

我会尝试创建一个简单的例子,使用虚拟概念,只是为了解释如何做到这一点。你可以尝试这样的:

public class CustomClassA extends Sprite 
{ 
    public function CustomClassA() 
    { 
     this.addEventListener(Event.ADDED_TO_STAGE, addedToStageHandler, false, 0, true); 
    } 

    private function addedToStageHandler(event:Event):void 
    { 
     this.removeEventListener(Event.ADDED_TO_STAGE, addedToStageHandler); 
     //start your code here... 
    } 

    public function startEnterFrame():void 
    { 
     this.addEventListener(Event.ENTER_FRAME, enterFrameHandler, false, 0, true); 
    } 

    public function stopEnterFrame():void 
    { 
     this.removeEventListener(Event.ENTER_FRAME, enterFrameHandler); 
    } 

    private function enterFrameHandler(event:Event):void 
    { 
     executeSomeCodeEveryFrameMethod(); 
    } 

    public function executeSomeCodeEveryFrameMethod():void 
    { 
     //your enter frame code... 
    } 

    public function dispose():void 
    { 
     stopEnterFrame(); 
     //garbage collection... 
    } 
} 

,然后创建CustomClassB:

public class CustomClassB extends CustomClassA 
{ 
    public function CustomClassB() 
    { 
    } 

    override public function executeSomeCodeEveryFrameMethod():void 
    { 
     //custom executeSomeCodeEveryFrameMethod 
    } 
} 

您可以测试使用:

var customClassB:CustomClassB = new CustomClassB(); 
customClassB.startEnterFrame();