1

基本的なことです..赤い正方形の画像を配列に保存するには、このビットマップが必要です...しかし、未確認のメソッドまたはプロパティにアクセスしていることを示しています...これは多かれ少なかれ、配列を使用するのは初めてで、見ましたそれらを使用するためのハードウェアに関するたくさんのツットと、これは彼らがそれらを何かに割り当てる方法だと思います..だから、私が何か間違ったことをしているなら、誰かが私に教えてください..私は彼らがどのように機能するかを学ぼうとしているだけです.それらを試すことによって...

var myImages:Array;

red_square.addEventListener( MouseEvent.CLICK, firstchoice);
function firstchoice (e:MouseEvent){
    finalsave.redsquare = 1;
    myImages[0] = new BitmapData(151, 167);
    bitmap = new Bitmap (myImages[0]);
    addChild(bitmap);
    myImages[0].draw (red_square);
    gotoAndPlay(5);
    stop();
};

私が得るエラーは

TypeError: エラー #1009: null オブジェクト参照のプロパティまたはメソッドにアクセスできません。gamefile_fla::MainTimeline/firstchoice()[gamefile_fla.MainTimeline::frame4:13] で

4

2 に答える 2

1

配列は空で始まるため、位置ゼロにアクセスしようとすると混乱します。このコード行を使用する代わりに:
myImages[0] = new BitmapData(151, 167);
use
myImages.push(new BitmapData(151, 167));

push コマンドは配列の末尾に要素を追加するため、サイズが 1 増加しますmyImages[0].draw(red_square);

また、配列変数を宣言するときvar myImages:Arrayは、コンストラクターまたは何らかのメソッドで初期化することをお勧めします。そのため、に変更しvar myImages:Array = new Array();ます。

于 2013-01-05T03:59:04.590 に答える
0

実際には、アクセスする前に配列をインスタンス化していません。これを試して:

var myImages:Array= new Array();
于 2013-10-24T10:05:57.757 に答える