1

こんにちは、actionscropt 3.0 を使用すると、Flash で 2 つのエラー メッセージが表示されます。

"Topbar,Layer 'Action Layer',Frame 1,line 12 1084: syntax error: expection semicolon before add.
"Topbar,Layer 'Action Layer',Frame 1,line 12 1084: syntax error: expection rightbrace before semicolon

これが私のコードです。誰でも実際に何が起こっているのかについての洞察を得ることができ、問題を修正するのに役立ちます。

clip = Number(random(7)) + 1;
while (Number(clip) <= 7)
{
   clip = Number(clip) + 1;
   Scale = Number(random(80)) + 1;
   setProperty("/star", _x, Number(random(800)) + 10);
   setProperty("/star", _rotation, Number(random(330)) + 50);
   setProperty("/star", _xscale, Scale);
   setProperty("/star", _yscale, Scale);
   setProperty("/star", _y, Number(random(800)) + 50);
   n = Number(n) + 1;
   bn = "star" add n;
   duplicateMovieClip("star", bn, n);
   set(bn add ":n", n);
} // end while
clip = "0";
4

2 に答える 2

2

この構文をどこから入手したかわかりません:

bn = "star" add n;

しかし、私はあなたが意味することだと思います

bn = "star" + n;

それがエラーメッセージの原因です。

AS3 でsetPropertyとの両方が非推奨になったため、それ以上のエラー メッセージが表示されないことにも本当に驚いています。duplicateMovieClipまた、アンダースコア (_x、_y など) で始まるすべてのプロパティの名前が変更されました。

続行する前に、ActionScript 3 で何が変更されたかを確認することをお勧めします。そうしないと、非常に苦労することになります。

于 2012-04-08T11:16:47.587 に答える
0

コードは AS2 にあります。パブリッシュ設定に移動し、スクリプトを AS2 に変更します。以下はスクリプトの編集です。

clip = Number(random(7)) + 1;
 while (Number(clip) <= 7)
 {
 clip = Number(clip) + 1;
 Scale = Number(random(80)) + 1;
 setProperty("/star", _x, Number(random(800)) + 10);
 setProperty("/star", _rotation, Number(random(330)) + 50);
 setProperty("/star", _xscale, Scale);
 setProperty("/star", _yscale, Scale);
 setProperty("/star", _y, Number(random(800)) + 50);
 n = Number(n) + 1;
 bn = "star" + n;
 duplicateMovieClip("star", bn, n);
 set(bn + ":n", n);
 } // end while
 clip = "0";

前述のように、AS2/AS3 からの変更を確認するには、Adobe Docs にアクセスする必要があると思います。コードや sdcript をシンボルやボタンに直接配置できないようにするなど、多くの変更があります。プロパティ名も変更されています。例:

_root // can no longer be targeted in this syntax
_xscale = scaleX // the underscores have been removed
                 // and the property names have been changed

お役に立てば幸いです。

于 2012-04-08T11:32:10.363 に答える