2011-11-21 3 views
0

플렉스 3.5에서 이상한 동작이 발생합니다. 여기서 최소 코드 : 의 build.xml 대상 :LoaderInfo.width! = stage.width in flex 3.5

<target name="player"> 
     <mxmlc 
      file="${APP_ROOT}/player.mxml" 
      output="${APP_ROOT}/player_old.swf" 
      keep-generated-actionscript="false" 
      static-link-runtime-shared-libraries="true" 
      debug="false"> 
      <load-config filename="${FLEX_HOME}/frameworks/flex-config.xml"/> 
      <source-path path-element="${FLEX_HOME}/frameworks"/> 
      <compiler.library-path dir="${APP_ROOT}" append="true"> 
       <include name="lib"/> 
      </compiler.library-path> 
     </mxmlc> 
</target> 

player.mxml :

<?xml version="1.0"?> 
<PlayerApp 
xmlns="*" 
xmlns:fx="http://www.adobe.com/2006/mxml"> 
</PlayerApp> 

PlayerApp.as :

package { 
import flash.display.Sprite; 
import flash.media.Video; 
import flash.events.*; 

    public class PlayerApp extends Sprite { 
     public function PlayerApp() { 
      this.loaderInfo.addEventListener(flash.events.Event.INIT, init); 
     } 

     private function init(e:Event):void { 
      this.addChild(new Video()); 
      trace("loaderInfo: "+root.loaderInfo.width+"x"+root.loaderInfo.height+"\n"); 
      trace("root stage: "+root.stage.width+"x"+root.stage.height+"\n"); 
     } 
    } 
} 

대상물 :

<object width="320" height="240" id="_261178285" name="_261178285" data="player_old.swf" type="application/x-shockwave-flash"> 
<param name="allowfullscreen" value="true"> 
<param name="allowscriptaccess" value="always"> 
<param name="quality" value="high"> 
<param name="cachebusting" value="true"> 
<param name="wmode" value="opaque"> 
<param name="flashvars" value="config={irrelevant}"> 
</object> 

이 모든 것을 디버그 p로 실행 계층은 다음 추적을 생성 :

loaderInfo: 500x375 

root stage: 320x240 

이는 500x375은 320X240 요소에 압착 될 때 (스프라이트 포함) 동영상 만 250x154 표시 정도의 크기로되어있는 애플리케이션에 추가 상황에 이르게 그것 페이지에 포함되어 있습니다.

다음 질문 : swf가 플래시 버전 9.0.115에서 계속 작동 할 수 있도록 어떤 식 으로든이 버그를 피할 수 있습니까? 또한 플레이어 크기가 가까운 장래에 변경 될 수 있으므로 build.xml 파일에서 크기를 하드 코딩하지 않을 것입니다.

면책 조항 : Flash Player 9.0.115를 지원해야하며 기업 고객으로 플래시 9.0.115가 지원되어야합니다 (일부 경우에도 9.0.115가 너무 많이 요청되는 것 같습니다). 나는 .mxml없이 .as 파일을 컴파일 할 수 있다는 것을 알았지 만, 그대로 그대로 두었다.

답변