2017-05-24 50 views
0

嗨,我有三个类Mainintro.as,Gameplay.as,Lastscene.as,在这里我用这个代码来调用另一个类..帧移动连续不停止...框架无法移动在actionscript3.0

Mainintro.as  
package 
    { 

import flash.display.MovieClip; 
import flash.events.TimerEvent; 
import flash.events.MouseEvent; 
import com.greensock.*; 
import com.greensock.easing.*; 


import Globe; 


public class MainIntro 
{ 


    public function MainIntro(Mc:MovieClip) 
    { 
     Globe.self.realstage = Mc; 
     Globe.self.realstage.intro_mc.stop(); 
     Mc.intro_mc.play_mc.addEventListener(MouseEvent.CLICK, GameStart); 
     Mc.intro_mc.play_mc.buttonMode = true; 
     Mc.intro_mc.ins_btn.buttonMode = true; 
     var gameply:GamePlay = new GamePlay(); 



    } 

    public function GameStart(e:MouseEvent):void 
    { 
     { 
      Globe.self.realstage.gotoAndPlay("game"); 


     } 
    } 

    }   

    } 

在这里,在这个类文件(Gameplay.as)发生在public function onClick的代码引起的:

Globe.self.realstage.click_mc.addEventListener(MouseEvent.CLICK,onClick); 

这给null object reference错误,但我一直在给定的正确名称为 立场,然后我试图运行忽略错误,那么帧移动不 停止......

Gameplay.as 

    package 
{ 
    import com.greensock.*; 
    import com.greensock.easing.*; 


    import flash.events.MouseEvent; 
    import flash.display.MovieClip; 

    import Globe; 


    public class GamePlay 
    { 
     var currentEntry:int = -1; 

     var aList:Array = 
      [ 
       {card:Globe.self.realstage.joker_mc, x:605.55, y:195.45}, 
       {card:Globe.self.realstage.king_mc, x:323.80, y:298.45}, 
       {card:Globe.self.realstage.queen_mc, x:45.85, y:213.95}, 
       {card:Globe.self.realstage.a_mc,  x:605.55, y:195.45}, 
       {card:Globe.self.realstage.ten_mc, x:323.80, y:298.45}, 
       {card:Globe.self.realstage.five_mc, x:45.85, y:213.95}, 
       {card:Globe.self.realstage.two_mc, x:605.55, y:195.45}, 
       {card:Globe.self.realstage.nine_mc, x:323.80, y:298.45}, 
       {card:Globe.self.realstage.four_mc, x:45.85, y:213.95}, 


      ]; 



    public function GamePlay() 
    { 
     Globe.self.realstage.stop(); 
     var gameply:LastScene = new LastScene(); 

     Globe.self.realstage.click_mc.addEventListener(MouseEvent.CLICK, 
    onClick); 
     Globe.self.realstage.exit_mc.addEventListener(MouseEvent.CLICK, 
    lastScene); 

    } 
     public function lastScene(e:MouseEvent):void 
      { 
       Globe.self.realstage.gotoAndPlay("Scene"); 

      } 


    public function onClick(e:MouseEvent):void 
     { 
      // Unsubscribe to avoid the mess with second click. 

    Globe.self.realstage.click_mc.removeEventListener(MouseEvent.CLICK, 
    onClick); 

      // Start process. 
      moveNext(); 
     } 

    public function moveNext():void 
    { 
      Globe.self.realstage.currentEntry++; 

      // Stop the process if all the cards have been moved. 
      if (Globe.self.realstage.currentEntry >= 
    Globe.self.realstage.aList.length) return; 


      // Get the entry. 
      var anEntry:Object = 
Globe.self.realstage.aList[Globe.self.realstage.currentEntry]; 

      // Move the card. 

    Globe.self.realstage.TweenLite.to(Globe.self.realstage.anEntry['card'], 
    .4, 
    {x:Globe.self.realstage.anEntry['x'],y:Globe.self.realstage.anEntry['y'], 
    onComplete:moveNext}); 
    } 

    } 


    } 
+0

任何时间轴上的错误,导致所有脚本被忽略;因此,时间轴回落到“玩”的默认行为!因此,你应该**不要忽略错误;但是,如果您需要进一步的帮助,您应该编辑您的问题,最有可能添加错误信息并做更多的说明,特别是在'Globe'上:) – someOne

+0

如果您替换'Globe.self.realstage.click_mc会发生什么。 .etc ... etc':'e.currentTarget.removeEventListener(MouseEvent.CLICK, onClick);'? –

回答

0

我已经被停止,现在它的工作好了框架使用的停止。