2012-04-15 2 views
0

그래서 플래시 바르에 액세스하려고 메신저하지만 난이 오류가 점점 계속 : 나는에 나의 클래스의 외부에 아래 코드를 넣어 시도을 FlashVars 및 AS3

Line 27 1180: Call to a possibly undefined method LoaderInfo.

을하지만 내가 수집 한 것과 같다 그것은 'LoaderInfo'가 아닌 다른 함수라고 생각합니다.

public function getFlashVars():Object { 
    var paramList:Object = LoaderInfo(this.root.loaderInfo).parameters; 
    var myParam:String = paramList["myParam"]; 
    return myParam; 
} 

어떻게이 문제를 해결할 수 있습니까? 이 외에도

function getFlashVars():Object{ 

    return root.loaderInfo.parameters; 
} 

이미 당신을위한 정적 객체입니다

엘리

함수 이름 & 반환 형식의 좋아요
+0

@ MartyWallace 예.하지만이 오류가 계속 발생하지는 않습니다. –

답변

3

flash.display.LoaderInfo에 대한 가져 오기를 잊어 버린 것 같습니다.

하지만 당신은 아마뿐만 아니라 유형 캐스트를 생략 할 수 있습니다 : 당신이 FlashVars를 작동하는 우아한 방법을 원하는 경우에

this.root.loaderInfo.parameters;

+0

가져 오기 추가를 잊어 버렸습니다. –

0

, 오히려이를 구현하기 위해 tryiing하는 것 같다. 이러한 매개 변수를 가져 오는 함수가 실제로 필요하지는 않습니다.

적어도 위와 같은 것은 아닙니다. 다음과 같이 가져올 수 있습니다.

root.loaderInfo.parameters.myParam1 
root.loaderInfo.parameters.myParam2 
root.loaderInfo.parameters.myParam3 
... 
0

, 당신은 the temple library에서 FlashVars class를 사용할 수 있습니다. 이 클래스는 flashvars를 감싸는 래퍼이므로 스테이지가없는 곳에서 액세스 할 수 있습니다.

각 플래시 변수에 대해 기본값과 클래스 유형을 개별적으로 설정할 수 있습니다. FlashVarNames enum 클래스와 함께 사용하면 응용 프로그램에서 사용되는 flashvar를 알 수 있습니다.

주 파일에서 FlashVars를 한 번 인스턴스화하거나 구성해야합니다.

package 
{ 
    import temple.data.flashvars.FlashVars; 

    import flash.text.TextField; 

    public class FlashVarsExample extends DocumentClassExample 
    { 
     private static const _LANGUAGE:String = 'language'; 
     private static const _VERSION:String = 'version'; 
     private static const _IS_DEMO:String = 'is_demo'; 

     public function FlashVarsExample() 
     { 
      FlashVars.initialize(this.loaderInfo.parameters); 

      FlashVars.configureVar(_LANGUAGE, 'nl', String); 
      FlashVars.configureVar(_VERSION, 1, int); 
      FlashVars.configureVar(_IS_DEMO, true, Boolean); 

      var txt:TextField = new TextField(); 
      txt.width = 550; 
      txt.height = 400; 
      this.addChild(txt); 

      trace('FlashVars.getValue(_LANGUAGE) : ' + FlashVars.getValue(_LANGUAGE) + "\n"); 
      trace('FlashVars.getValue(_VERSION) : ' + FlashVars.getValue(_VERSION) + "\n"); 
      trace('FlashVars.getValue(_IS_DEMO) : ' + FlashVars.getValue(_IS_DEMO) + "\n"); 
      trace(FlashVars.dump()); 
     } 
    } 
}