따뜻한 대한민국 겨울만들기

많이들 아시는 내용이라 생각되지만요...

서치 해 본 결과 이에 해당하는 글이 없는것 같아서.. 하나 올립니다.

swf 파일에 파라미터로 변수를 전달하고 사용하는 방법입니다.

as 2.0에서는 간단하게 데이터를 주고 받을땐 많이들 사용했었죠.

[AS 2.0]

먼저 as2.0에서는,

쿼리스트링 방식..

위와같이 하고,

flash 도큐먼트의 하위레벨(_level0)에서

this.aaa나 _root.aaa로 변수 값을 받아

사용 할 수 있었습니다.


[AS 3.0]

반면, as3.0에서는,

i) FlashVars 방식..


ii) 쿼리스트링 방식..


위와같이 하고,

class 내부에서,

var obj:Object = LoaderInfo(this.root.loaderInfo).parameters;

_aaa = obj["aaa"];

_bbb = obj["bbb"];

로 간편하게 ... 넘어온 변수를 사용하시면 되겠습니다.


FlashVar 방식..
이든 쿼리스트링 방식..이든 데이터를 swf에  전달하기 위해 전문적으로 설계되지는 않았다고 합니다.

아주 작은 데이터 전송일때만 사용하고 복잡한 데이터엔 URLLoader.. 를 사용하기를 권한다고 합니다.


그럼 수고하셔욧.

  1. 찰리

    | 2008.07.15 16:14 신고 | PERMALINK | EDIT | REPLY |

    음... 힘들게 찾았습니다.
    레퍼런스에서는 플래시 내부에서 사용하는 방법이 없더군요.. 아 있기는 한데....

    ....
    _level0.myUrl
    .....

    _level0는 AS3.0에서 정의되지 않은 프로퍼티 라는 오류를 냅니다...
    퍼갈께요~~

  2. BlogIcon 꽃녀

    | 2008.07.16 12:37 신고 | PERMALINK | EDIT | REPLY |

    네.. 답글 남겨주시니 감사하네요 ^^
    열심히 공부하셔요~

  3. 크리킷

    | 2008.10.15 12:50 신고 | PERMALINK | EDIT | REPLY |

    찾던건데.. 정보 감사해요~~ ^^

  4. BlogIcon 꽃녀

    | 2008.10.16 00:20 신고 | PERMALINK | EDIT | REPLY |

    넵! 방문 감사드립니다.^^

  5. KITT3000

    | 2008.10.28 17:54 신고 | PERMALINK | EDIT | REPLY |

    큰 도움 됐습니다.

  6. BlogIcon 아노미

    | 2009.02.02 15:41 신고 | PERMALINK | EDIT | REPLY |

    안녕하세요~
    네이버 플래시 액션스크립트 카페에서 여기까지 찾아왔네요~^^

    AS 3.0으로 작업한 파일에서 XML주소를 쿼리스트링 방식으로 파라미터를 받아서 처리하려는데...

    설명하신대로 써도 XML을 못불러옵니다.ㅠㅠ

    var obj:Object = LoaderInfo( this.root.loaderInfo ).parameters;
    var xmlUrl:String = obj[ "xmlURL" ];

    test_txt.text = xmlUrl;

    이런식으로 플래시에서 써주고,

    HTML에서는

    <param name="movie" value="test.swf?xmlURL=test.xml" />
    <embed src="test.swf?xmlURL=test.xml"...

    이렇게 써주었습니다.

    js부분에 'FlashVars','xmlURL=test.xml'이라고 쓰면 읽어오는데, 위와 같이 쓴건 못읽어오네요.
    계속 undefined라고 뜹니다.
    쿼리스트링방식만 써놓으면 못읽어 오는데 js에도 같이 써줘야 하는건가요??

    너무 답답해서 여기까지 찾아와서 질문 올립니다.ㅠㅠ
    송구스럽지만 답변 부탁드려요;ㅅ;


    +++ Plus

    js부분에서
    'movie', 'test?xmlURL=test.xml',라고 써주니 또 불러와지는데요..

    이것도 <param name="movie" value="test.swf?xmlURL=test.xml" />
    <embed src="test.swf?xmlURL=test.xml"...여기랑 같은 효과인가요??

  7. BlogIcon 꽃녀

    | 2009.02.02 16:47 신고 | PERMALINK | EDIT |

    음.. 두가지 경우가 있을거 같은데요..
    하나는 Sprite의 loaderInfo.addEventListener( Event.INIT, initHandler );
    의 Init 이벤트가 완료 된 후에 값을 찍어야 되구요.

    다른 경우는,
    초기에 addEventListener(Event.ADDED_TO_STAGE, addToStageHandler);
    로서 Stage에 add시킨 후 값을 찍어야 합니다.
    Stage에 add가 안되면 this.root의 값을 가져오지 못해 undefined가 찍히는거라고 생각이 듭니다.~~!
    수고하세요^^

Write your message and submit
« PREV : 1 : ··· : 56 : 57 : 58 : 59 : 60 : 61 : NEXT »