2014-05-22 3 views
1

안드로이드 용 플래시 및 어도비 에어를 사용하여 Android 용 앱을 개발 중입니다.
플래시에서는 다음과 같은 방식으로 탐색 할 수있는 일련의 장면이 있습니다. 낮은 장면 (아침, 점심, 저녁 장면)에서장면에없는 동영상 클립이 장면이로드 될 때

Navigation of scenes

, 내가 한 영화 오디오 그들에 포함 된이 장면에 따라 매 5 개 프레임, 클립이있다. 영화 클립의 첫 번째 프레임에 나는 stop(); 함수를 호출합니다. 클립 끝 부분에서 이벤트가 전달되고 (dispatchEvent(new Event ("MEANING_TEXT_COMPLETE"));) 기본 타임 라인의 코드가 이에 따라 작동 할 수 있습니다. 여기


은 예상대로 내가, 그것을 완벽하게 잘 작동 장면 "아침 장면"을로드 할 때 무비 클립 객체가 lang1 내 기본 타임 라인

  import flash.events.MouseEvent; 

      MovieClip(this.root).stop(); 

      btn_home_parent.addEventListener(MouseEvent.CLICK, goto_dh_morn); 
      mc_sound.addEventListener(MouseEvent.CLICK, control_sound_morn); 
      btn_next_morn.addEventListener(MouseEvent.CLICK, goto_next_morn); 
      btn_prev_morn.addEventListener(MouseEvent.CLICK, goto_prev_morn); 

      //load all sound files 
      var mn_1:Mn1 = new Mn1(); 
      var mn_2:Mn2 = new Mn2(); 
      var mn_3:Mn3 = new Mn3(); 
      var mn_4:Mn4 = new Mn4(); 
      var mn_5:Mn5 = new Mn5(); 
      var mn_6:Mn6 = new Mn6(); 
      var mn_7:Mn7 = new Mn7(); 
      var mn_8:Mn8 = new Mn8_(); 
      var mn_9:Mn9 = new Mn9(); 
      var mn_10:Mn10 = new Mn10(); 
      var mn_11:Mn11 = new Mn11(); 
      var mn_12:Mn12 = new Mn12(); 
      var mn_13:Mn13 = new Mn13(); 
      var mn_14:Mn14 = new Mn14(); 

      var frameCount_morn:int = 1; 
      var lang1Init_morn:Boolean = false; 
      var lang1:Object; 
      var ar:Object; 

      playSound_morn(); 

      function playSound_morn() 
      { 
       var currentSound:Sound = new Sound(); 
       channel.stop(); 
       trace("play sound"); 
       currentSound = this["mn_" + frameCount_morn]; 

       channel = currentSound.play(); 
       channel.addEventListener(Event.SOUND_COMPLETE, soundComplete_morn); 
       trans.volume = 1; 
       channel.soundTransform = trans; 
      } 

      function soundComplete_morn(e:Event):void 
      { 
       if (showlang1Text) 
       { 
        trace("ar Sound Complete"); 
        ar = getChildByName("arText" + (currentFrame - 1)); 
        ar.visible = false; 
        trace("ar child acquired"); 
        lang1 = getChildByName("lang1Text" + (currentFrame - 1)); 
        lang1Init_morn = true; 
        lang1.visible = true; 
        lang1.play(); 
        lang1.addEventListener("MEANING_TEXT_COMPLETE", translationComplete_morn); 
       } 
      } 

      function translationComplete_morn(e:Event) 
      { 
       trace("translate Complete"); 
       ar= getChildByName("arText" + (currentFrame - 1)); 
       ar.visible = true; 
       lang1 = getChildByName("lang1Text" + (currentFrame - 1)); 
       lang1.visible = false; 
      } 


      function goto_next_morn(e:MouseEvent) 
      { 
       if (MovieClip(this.root).currentFrame <= 61) 
       { 
        var next_frame = MovieClip(this.root).currentFrame + 5; 
        frameCount_morn = frameCount_morn + 1; 
        channel.stop(); 
        if (lang1Init_morn){lang1.stop();lang1Init_morn = false;} 
        MovieClip(this.root).gotoAndStop(next_frame); 
        playSound_morn(); 
       } 
       trace("Current Frame: " + currentFrame); 
      } 

      function goto_prev_morn(e:MouseEvent) 
      { 
       if (MovieClip(this.root).currentFrame > 0) 
       { 
        var prev_frame = MovieClip(this.root).currentFrame - 5; 
        frameCount_morn = frameCount_morn - 1; 
        channel.stop(); 
        if (lang1Init_morn){lang1.stop();lang1Init_morn = false;} 
        MovieClip(this.root).gotoAndStop(prev_frame); 
        playSound_morn(); 
       } 
       trace("Current Frame: " + currentFrame); 
      } 

      function control_sound_morn(e:MouseEvent) 
      { 
       control_sound(e); 
       if (!showlang1Text) { 
        mc_sound.gotoAndStop(5); 
        if (lang1Init_morn){ 
         lang1.stop(); 
         lang1Init_morn = false; 
         ar.visible = true; 
         lang1.visible = false; 
        } 
       } 
       else { 
        mc_sound.gotoAndStop(1) 
       } 
      } 

      function goto_dh_morn(e:MouseEvent) { 
       if (lang1Init_morn){lang1.stop();lang1Init_morn = false;} 
       channel.stop(); 
       goto_dh(e); 
      } 


에 코드입니다. 그러나 "정오 장면"또는 "저녁 장면"으로 이동하면 "아침 장면"에 놓인 모든 동영상 클립의 오디오가 자동으로 재생되기 시작합니다. 재미있는 점은 그 영화 클립이 "정오 장면"과 "저녁 장면"에 추가되지 않는다는 것입니다. 왜 이런 일이 일어나거나 해결할 수 있는지에 대한 아이디어. 감사합니다.

답변

1

나는 답변을 얻지 못했습니다. 내가 고친 방법은 각 장면을 별도의 swf 파일로 컴파일 한 다음 필요할 때로드/언로드하는 것이 었습니다.

관련 문제