2014-01-27 2 views
0

전체 화면 토글을 설정하고 유동성 요소를 구현하려하지만 화면 크기 조정을 위해 토글에 디스패치 이벤트를 포함해야하는지 확실하지 않거나 전체 이벤트가 감지 될 때 이전 eventListener에 의해 감지 될 수 있습니다. 토글이 활성화 되었습니까?전체 화면 이벤트 트리거가 as3에서 크기를 조정합니까?

또한 주제에 대해 며칠 동안 온라인 상태를 보았지만 무대 장치의 크기 조절을 어디에 배치하는 것이 최적인지 아직 확실하지 않습니다. 어도비에 언급 된 바와 같이

public function Main():void { 
    addEventListener(Event.ADDED_TO_STAGE, init); 

    stage.addEventListener(Event.RESIZE, resizeListener); 
    stage.addEventListener(FullScreenEvent.FULL_SCREEN_INTERACTIVE_ACCEPTED, fullScreenRedraw); 
} 

private function resizeListener (e:Event):void { 

    // - Do I put my resize control options here to cater for general resize or see below? 
myMovie.width = stage.stageWidth; // etc 
} 
private function fullScreen(e:MouseEvent):void { 
    try { 
    switch (stage.displayState) { 
     case StageDisplayState.FULL_SCREEN_INTERACTIVE: 
      /* If already in full screen mode, switch to normal mode. */ 
      stage.displayState = StageDisplayState.NORMAL; 

     break; 
     default: 
      stage.fullScreenSourceRect = null; 
      // If not in full screen mode, switch to full screen mode. 
      stage.dispatchEvent(new Event(Event.RESIZE)); 
      stage.displayState = StageDisplayState.NORMAL; 
      stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE; 
     break; 
     } 
    } catch (err:SecurityError) { 
     // ignore 
    } 
} 
private function fullScreenRedraw(event:FullScreenEvent):void { 
    if (event.fullScreen) { 
     // FULLSCREEN TRUE 

     // - Or do I put my resize control options here to cater for the fullscreen as well? 
     myMovie.width = stage.stageWidth; // etc 

     var fScrField:TextField = new TextField(); 
     fScrField.y = 480; 
     fScrField.text = "Redraw : True"; 
     addChild(fScrField); 
    } else { 
     // NON FULLSCREEN 
     fScrField.text = "Redraw : False"; 
     addChild(fScrField); 
    } 
} 

* * 개정 처리기. 그러나 무엇이 어디로가는 지에 대한 정보 충돌!

private function activateHandler(event:Event):void { 
    trace("activateHandler: " + event); 
} 
private function fullScreenRedraw(event:FullScreenEvent):void { 
    if (event.fullScreen) { 
     // Add additional panels if set/sizes 
     var fScrField:TextField = new TextField(); 
     fScrField.y = 480; 
     fScrField.text = "Redraw : True"; 
     addChild(fScrField); 
    } else { 
     // Remove additional panels etc 
     fScrField.text = ""; 
     fScrField.text = "Redraw : False"; 
     addChild(fScrField); 
    } 
} 

지금은 변화와 위의 코드를 사용하는 방법의 모든 방식으로 작동하지만 최선 더 efficiant 또는 명확한 설명 할 수없는 것 같다 인터넷 검색을 온라인으로 일 동안 한 얻을 수있었습니다.

내가 더 잘할 수있는 곳에서 도움을주고 더 효율적으로 만들 수있는 도움이 필요하다.

미리 감사드립니다.

답변

1

나는 당신이 너무 복잡하다고 생각합니다. 그 방법을 시도하십시오 :

// in your constructor: 
fullScreenBtn.addEventListener(MouseEvent.CLICK, toggleFullScreen); 
stage.addEventListener(FullScreenEvent.FULL_SCREEN, refreshStage); 
stage.addEventListener(Event.RESIZE, refreshStage); 
// then handle stage resize: 
private function refreshStage(event:Event = null):void 
{ 
    if (stage.displayState == StageDisplayState.NORMAL) { 
    // handle stage in normal mode 

    } else { 
    // handle stage in full screen mode 

    } 
} 
// handle stage state toggle: 
private function toggleFullScreen(event:Event = null):void 
{ 
    if (stage.displayState == StageDisplayState.NORMAL) 
    stage.displayState = StageDisplayState.FULL_SCREEN; 
    else 
    stage.displayState = StageDisplayState.NORMAL; 
} 
+0

당신이 옳을 수도 있습니다, 나는 그것을 시도 할 것입니다. 온라인에서 너무 많은 설명이 효과적이며이를 위해 무엇이 가능한지 살펴보기가 어렵습니다. 내가 시도한 방법은 한 가지 방법으로 설명한대로 대화 형 키보드 사용을 다루는 것이었지만 한 번 전체 화면으로 작업에 너무 잘 응답하지 않는 것처럼 보였습니다. 내가 얻은 것은 잘 작동하고 있었지만, 변경 사항을 구현할 수있는 곳과 내가 그랬던 것처럼 길을 잃기 쉽도록 모든 옵션을 확신 할 수 없었습니다. 확실히 이해하기 쉽기 때문에 곧 테스트 해 보겠습니다! 감사. – esadude

+0

내가이 사이트를 추가로 개발할 때까지는이 옵션을 사용할 수있게 할 것이지만 크기 조정/대화 형 크기 조정 옵션에 대해서는 여전히 만족스럽지 않으므로 개인적인 문제 인 어느 한쪽을 커밋하기 전에 테스트해야합니다. m 크기 조정/전체 화면 문제를 조사했습니다. 당신의 것이 실제로는 더 간단하고 효과적이지만 분명히 싫어하는 플래시의 옳고 그름의 부족함과 특히 대화 형 옵션과 함께, 실제로 무엇을하는지, 어떻게 도움이되는지에 대해서는 거의 알지 못합니다. 구현에 포함시켜야합니다 (어쨌든 - 질문입니다).하지만 감사합니다. – esadude

+0

필자는 텍스트 필드가 필요한 경우에만 AIR 앱 (키오스크)에서 대화식 전체 화면을 사용했습니다. 이 부분을 확인해보세요. 일부 매개 변수가 누락 된 것 같습니다. http://help.adobe.com/ko_kr/as3/dev/WS58a13becbbb904c7-28cf6d32136e60de784-8000.html – mika