2013-07-26 2 views
0

Flash Professional에 약간의 애니메이션이 있습니다. 다른 애니메이션으로이 애니메이션을 200 번 이상 필요로합니다. 텍스트는 for 루프에서 이미 동적입니다. 내가 원하는 것은 .swf를 다른 텍스트로 만드는 루프를 만드는 것입니다. 따라서 한 번만 실행하고 200 개가 넘는 .swf 파일을 자동으로 생성합니다. 그게 가능하니?AS3 코드로 더 많은 .swf 파일 가져 오기

+0

이론적으로는 가능하지만 매우 실용적입니다. 왜 그걸하고 싶니? 그것보다 나은 해결책이있을 수 있습니다. – Aralicia

+0

내 애니메이션에서 약간의 변화가 생기면 200 번 다시 내보내기해야하기 때문에 그렇게하고 싶습니다 ... 더 나은 솔루션은 무엇입니까? – Babsi

+0

왜 Flashvars를 사용하여 텍스트의 동적 값을 설정하지 않습니까? 그렇게하면 200 swf를 생성 할 필요가 없습니다. 하나만, 다른 매개 변수로로드됩니다. Flashvars는 필요할 경우 swf url에서 직접 설정할 수도 있습니다. – Aralicia

답변

0

swf 파일이 200 개가 아니라 SWF 파일을 하나만 사용하고 Flashvar를 사용하여 표시 할 텍스트를 정의해야합니다. 다음은이를 수행하는 방법과이를 사용하는 방법에 대한 간단한 샘플입니다.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="550" height="400" id="main"> 
    <param name="movie" value="main.swf" /> 
    <param name="FlashVars" value="labelKey=label2" /><!-- Flashvar : we set labelKey to 'label2' - the swf will show "foo bar" --> 
    <embed src="main.swf" width="550" height="400" autostart="false" quality="high" bgcolor="#ffffff" FlashVars="labelKey=label2" type="application/x-shockwave-flash" 
pluginspage="http://www.macromedia.com/go/getflashplayer" /> 
</object> 

: 당신은 HTML에서 SWF를로드하는 경우, 당신은 HTML에서 그런 일이있을 것이다

// var myTextField:TextField; // in this sample, I want to set the content of myTextField 
// here, I am using an Object as an associative Array. Thus, I can do textTable[''] to obtain 'text sample 1' 
var textTable:Object = { 
    label1 : "text sample 1", 
    label2 : "foo bar", 
    showError : "some error occured", 
    pizza : "I love pizza" 
    // [...] 
} 

// I'm fetching the flashvars in params, and then specifically the content of the labelKey Flashvar. 
var params:Object = LoaderInfo(this.root.loaderInfo).parameters; 
var key:String = params.labelKey; 

// I'm getting the text that correspond to the given key, and set myTextField with it. 
var label:String = textTable[key]; 
if (label != null) { 
    myTextField.text = label; 
} 

: 플래시 코드에서

, 당신은 그런 일이있을 것이다 URL을 사용하지 않으면 URL이 다음과 같이 표시됩니다.

http://my.domain.com/main.swf?labelKey=label1 
or 
http://my.domain.com/main.swf?labelKey=showError 
or 
http://my.domain.com/main.swf?labelKey=pizza