0

http://www.flash-mx.com/images/image1.jpgイメージをフラッシュ SWF ファイルのサムネイル ボックスとして表示したいと考えています。そのために、Flash ムービーでローダー コントロールを取得し、次のように名前を付けてmy_thumb、次のようにコードを記述しました。

 _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   
---------------------------

上記の行をコードから削除すると、問題なく動作します。

なぜこれが起こっているのかわかりません。私はフラッシュの初心者で、この種のエラーについてはよくわかりません。

チェックしてください!

ありがとう

4

3 に答える 3

1

あなたの間違いは、AS3 コードを使用して AS2 で何かをしようとしているということです。(contentPath は AS3 固有です)

AS2 で画像を読み込むには、loadMovie の代わりに MovieClipLoader クラスを使用することをお勧めします。MovieClipLoader を使用すると、読み込みの進行状況を追跡でき、_width や _height などの特定のプロパティにいつアクセスできるかがわかります。

上記を実行するスクリプトを次に示します。新しい AS2 Fla に貼り付けて実行するだけです。Flash の学習に役立つことを願っています。:)

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);
于 2009-11-24T02:17:35.370 に答える
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;
}
于 2009-11-25T04:17:41.093 に答える
0

私は AS2 に詳しくありませんが、このページには、contentPathプロパティは

ローダーにロードするファイルの絶対 URL または相対 URL を示す文字列。相対パスは、コンテンツをロードする SWF ファイルからの相対パスである必要があります。URL は、読み込み中の SWF ファイルと同じサブドメインにある必要があります。


loadMovieを使用して、ActionScript-2 に外部画像をロードできます。AS3でLoaderクラスを使用します。

于 2009-11-23T15:23:43.830 に答える