2009-11-23 2 views
0

http://www.flash-mx.com/images/image1.jpg 이미지를 내 플래시 SWF 파일의 축소판 상자로 표시하려고합니다. 이렇게하려면 내 플래시 영화의 로더 장악하고 이름을 my_thumb로 다음과 같이 코드를 작성했습니다 :Flash CS4 : "Loader.contentPath"를 사용할 때 응답이 없습니까?

_parent.my_thumb.contentPath = "http://www.flash-mx.com/images/image1.jpg"; 

하지만 내 플래시 코드에 선 위에 추가 한 후 다음과 같은 오류를 얻고있다.

--------------------------- 
Flash Player 
--------------------------- 
A script in this movie is causing Flash Player to run slowly. 
If it continues to run, your computer may become unresponsive. 
Do you want to abort the script? 
--------------------------- 
Yes No 
--------------------------- 

위의 코드를 제거하면 내 코드가 문제없이 작동합니다.

왜 이런 일이 발생하는지 알 수 없습니다. 나는 초보자이며 오류의 이러한 종류에 대해 많은 생각을하지 않습니다.

확인해주세요.

감사

+0

그것은 액션-2 아닌가요? – Amarghosh

+0

@Amarghosh : 게시 설정과 그 actionscript-2를 선택했습니다. – Prashant

+0

당신은 AS3으로 태그를 붙였습니다. 그래서 – Amarghosh

답변

1
var url:String = "http://www.helpexamples.com/flash/images/image2.jpg"; 
var movieClip:MovieClip = createEmptyMovieClip("movieClip", 0); 
movieClip.loadMovie(url); 

movieClip._x=200; 
movieClip._y=200; 

function onEnterFrame(){ 
    //trace(movieClip._width); 
    //trace(movieClip._height); 
    if (movieClip._width!=0){ 
     setDimension(movieClip,100,100); 
     delete onEnterFrame; 
    } 
} 

function setDimension(mc:MovieClip,w:Number,h:Number){ 
    mc._width=w; 
    mc._height=h; 
} 
+0

말 그대로 MovieClipLoader를 사용하면 이벤트를 추가하고로드 한 시간을 결정하는 것이 더 간단 해집니다. – Oliver

+0

이것은 나를 위해 일하는 것, 이전에 _width를 사용하고 있었지만 영화를 laoding하기 전에 설정하고있었습니다. 하지만 이제 영화를로드하고 너비를 올바르게 설정 한 후에도 동일한 작업을 수행하고 있습니다. 하지만 너비와 높이를 50으로 설정하면 이미지 품질에 따라 높이를 유지합니다. 실제 크기를 w : 50 및 h : 73로 변경하는 이유는 알 수 없습니다. 나는 그것의 정확한 폭을 50x50으로 설정하고 싶다. ?? 이 작업을 수행하는 방법 ?? – Prashant

+0

위의 코드는 이미지의 크기가 400x267이지만 100x100으로 설정합니다.이 코드가 사용자 코드에 있어야합니다. 어딘가에 붙여 넣기 만하면됩니다. – Oliver

0

나는 AS2에 익숙하지 않은,하지만 this pagecontentPath 속성이 로더에로드 할 파일의 절대 또는 상대 URL을 나타내는

문자열이어야합니다 말한다. 상대 경로는 내용을로드하는 SWF 파일에 상대적이어야합니다. URL은로드하는 SWF 파일과 동일한 하위 도메인에 있어야합니다.


당신은 액션-2에 외부 이미지를로드 할 loadMovie를 사용할 수 있습니다. AS3에서 Loader 클래스를 사용하십시오.

+0

@Amarghosh : 위에서 언급 한 문제가 없다고 생각합니다. 이미지 파일을로드하고있는 도메인과 동일한 도메인에서 파일을 실행하려고했기 때문에 실행되지 않았습니다. : – Prashant

+0

기본적으로 이미지의 축소판을 표시하고 싶습니다 .100x100 이미지 상자에서 이미지를 표시하기 위해 flahs에서 정확히 무엇을 사용해야할지 모릅니다. http://www.republicofcode.com/tutorials/flash/portfolio_2_bc /index.phplink 로더 구성 요소에 대해 알아야하지만 작동하지 않습니다. 다른 방법이나 온라인 튜토리얼 링크를 사용하면 도움이 될만한 정보를 얻을 수 있습니다. 감사합니다 .. – Prashant

1

실수는 AS2에서 AS3 코드를 사용하려고한다는 것입니다. (contentPath는 AS3에만 해당됩니다.)

AS2에서 그림을로드하려면 loadMovie 대신 MovieClipLoader 클래스를 사용하는 것이 좋습니다. MovieClipLoader는로드 진행률을 추적하고 _width 및 _height와 같은 특정 속성에 액세스 할 수 있는지 여부를 알려줍니다.

다음은 위의 작업을 수행하는 스크립트입니다. 새로운 AS2 Fla에 붙여 넣기 만하면됩니다. 플래시를 배우는 여정에 도움이되고 행운이 있기를 바랍니다. :)

var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth()); 
var mcLoader:MovieClipLoader = new MovieClipLoader(); 
var listener:Object = new Object(); 

mcLoader.loadClip("http://www.flash-mx.com/images/image1.jpg", container); 

listener.onLoadProgress = function(target:MovieClip, bytesLoaded:Number, bytesTotal:Number):Void 
{ trace(target + ".onLoadProgress with " + bytesLoaded + " bytes of " + bytesTotal); } 

listener.onLoadInit = function(target:MovieClip):Void 
{ trace("The picture has been loaded, now you can access information about it like width and height"); 
trace(container._width+" "+container._height); 
//or 
trace(target._width+" "+target._height) } 
mcLoader.addListener(listener); 
+0

안녕하세요 @ 올리버 : 저는이 첫 번째 해결책을 시도했습니다. http://actionscriptexamples.com/2008/03/02/dynamically-loading-an-image-in-actionscript-20-and-actionscript-30/ (@Amarghosh에서 제공).하지만 어떻게해야하는지 물어보고 싶습니다. 이 무비 클립의 폭, 높이 및 위치 설정 ?? – Prashant

+0

동영상 클립의 위치는 _width 및 _height에 대해 언제든지 설정할 수 있습니다. 너비와 높이가 0이 아닌 경우 (사진로드가 완료 될 때 발생) 모든 프레임을 확인하고 크기를 설정하면됩니다. 나중에 onEnterFrame을 삭제하십시오. 다음 답변에 게시 된 코드를 참조하십시오. 건배 – Oliver

관련 문제