2017-05-24 5 views
0

안녕하세요, 저는 3 개의 클래스 Mainintro.as, Gameplay.as, Lastscene.as가 있습니다.이 코드를 사용하여 다른 클래스를 호출했습니다. 프레임이 계속 멈추지 않고 계속 움직입니다 ...프레임이 actionscript3.0에서 움직일 수 없습니다

에 의한 다음은이 클래스 파일 ( Gameplay.as) 코드가 public function onClick 발생에
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"); 


     } 
    } 

    }   

    } 

:

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

타임 라인에 오류가 있으면 내부의 모든 스크립트가 무시됩니다. 결과적으로, 타임 라인은'play'ed의 기본 행동으로 돌아갑니다! 따라서 _you_는 오류를 무시하지 말아야합니다 **. 오히려 도움이 더 필요하다면, 질문을 편집해야합니다. 아마도 오류 메시지를 추가하고 특별히 글로브에 대한 설명을 추가하십시오 :) – someOne

+0

'Globe.self.realstage.click_mc .. .etc ... etc' :'e.currentTarget.removeEventListener (MouseEvent.CLICK, onClick); –

답변

0

... 다음 중지하지 이동 프레임 오류를 무시 실행하려고.

관련 문제