0

Flash AS3 で GUI アプリケーションを作成していますが、次のエラーが発生します。

Attemping to launch and connect to Player using URL C:\B Services\Divatri\Appy\appy.swf
[SWF] C:\B Services\Divatri\Appy\appy.swf - 32351 bytes after decompression
TypeError: Error #2007: Parameter text must be non-null.
at flash.text::TextField/set text()
at appy_fla::MainTimeline/ParseUsers()[appy_fla.MainTimeline::frame101:44]
at appy_fla::MainTimeline/LoadXML()[appy_fla.MainTimeline::frame101:17]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at flash.net::URLLoader/onComplete()
Cannot display source code at this location.
Debug session terminated.

そして、ここに私の AS3 があります: http://pastebin.com/QBGamWkJ

4

2 に答える 2

1

AS3 (および他のほとんどの場所) の配列と XMLLists はゼロベースです。あなたが望んでいるのは:

if (usercount == 1)
{
    user1.username_txt.text = usernames[0]; // not usernames[1]
    ...

を介してuser明示的にリストするのではなく、 の配列を持つことを検討するかもしれません。現在の構造に固執する場合は、XMLList に一致するように名前を 0 から始まる名前に変更することを検討してください。user1user6

于 2013-01-21T15:50:43.290 に答える
0

配列はゼロ (0) でインデックス付けされます。したがって、配列内の最初のユーザーは、実際に0は ではなくになり1ます。このエラーは、アクセスしようとしているアイテムがusernames[2]長さ の配列に存在しないため、null であることを示しています2

コードは次のようになります。

if (usercount == 2) {
    user1.username_txt.text = usernames[0];
    user2.username_txt.text = usernames[1];
    ...
}
于 2013-01-21T15:53:48.343 に答える