일련의 AS2 동영상을로드하는 래퍼 SWF가 있습니다. 각 AS2 동영상은 일련의 .png 파일을로드합니다. 내가 onLoadInit
를 사용하여 PNG 파일의로드를 수신하고 내 UI를 업데이트 AS2의 내부AS3 swf 래퍼에로드 된 AS2 swf에 외부 png로드
AS3_wrapper.swf
|-> AS2_1.swf
|-> image_1.png
|-> image_2.png
|-> AS2_2.swf
|-> image_1.png
|-> image_2.png
.
이것은 첫 번째 AS2 swf에서 정상적으로 작동합니다. 하지만 두 번째 AS2 swf를로드 할 때 onLoadInit
은 png에 대해 트리거되지 않습니다. 내 생각 엔 이미지가 캐시에 있거나 그와 비슷한 것입니다. 요청의 끝에 임의의 문자열을 넣어 캐시를 피하려고했지만 작동하지 않는 것 같습니다.
AS2의 코드는 다음과 같이 대략 같습니다
나는 한 번에 하나의 이미지를로드 할 수 있는지 만들고있어var flagLoader:MovieClipLoader = new MovieClipLoader();
var listener:Object = new Object();
listener.onLoadInit = Delegate.create(this, handleImageLoad);
flagLoader.addListener(listener);
var row:MovieClip = frame1["row" + (numLoaded + 1)];
flagLoader.loadClip(predictionData[numLoaded].flag + "?r="+Math.random(), row.flag);
는 (I는 한 번에 두 개 이상의 일을로드 일화를 읽은 수 MovieClipLoader
을 혼동). 첫 번째 as2 파일의 경우 모두 잘 작동합니다. 두 번째 as2 파일을로드 할 때 handleImageLoad
이 호출되지 않습니다.
업데이트 : 내가 처음 AS2 영화 (두 번째 AS2 영화가 이미지를로드하는 데 실패 후) 첫 AS2 영화 다시 좋은 이미지를로드 다시로드하면 더욱 곤혹이다.
업데이트 2 : MovieClipLoader 사용에서 폴링 (유용하게 제안 됨)으로 변경하려고 시도한 후에 관련성이 높은 몇 가지 증거를 발견했습니다.
나는 최상위 레벨에서 첫 번째 AS2 파일 및 추적로드
는_root
를 출력 클립. 로드 될 때 두 번째 AS2 파일은 동일한
_root
을 추적합니다. 이것은 내가 그들이 이름에 충돌하고 있는지 확인하도록 이끌었다. 둘 다
frame
이라는 아이가 있습니다. 첫 번째 것은 내가 추적 할 때 예상대로
_root.frame
으로 나옵니다. 두 번째 AS2 파일은
_level0.instance3.instance118.instance111.frame
을 추적합니다. 나는 이것이 문제와 관련이 있다고 생각한다. 플래시는 두의 _root를 유지하고있다
는 같은 파일하지만 (같은 이름을 가진 아이들이 나중에로드 파일) 자녀의 위치를 변경한다. 따라서 onLoad가 잘못된 클립으로 이동하거나로드에 대한 이벤트가 발생합니다. AS3에서
시도해보고 작동하면 여기에 다시보고 해 드리겠습니다. 사실이라면 정말 짜증나지만 가능한 해결 방법이 있다는 것에 감사드립니다. –
당신의 솔루션이 저에게 맞지 않을까 걱정됩니다. 하지만 그것은 더 많은 정보를 추적하는 데 도움이되었습니다. 어쩌면 다시 내 설명을보고 더 많은 정보를 제공 할 수 있습니다. –