GameMaker 日本語掲示板

スクリプトに引数として配列を渡した時の挙動について / 2

4 コメント
views
17 フォロー
2
サクレ 2020/12/26 (土) 17:43:36 >> 1

返信、検証ありがとうございます。

どうも1,2次元配列と3次元配列でスクリプトでの扱いに違いがあるみたいで、そこでつまづいています。
3次元配列を使ってこのようなコードを書いてみたのですが、

//オブジェクト Createイベント
for(i=2; i>-1; i--){
	for(var j=2; j>-1; j--){
		for(var l=2; l>-1; l--){
			_firld[i][j][l] = 0;
		}
	}
}
Scr_Return_Array(_firld);
//スクリプト
function Scr_Return_Array(_a){
	 _a[0][0][0]=123;
}

このように書くとオブジェクトの_firld配列は変更されないはずなのですが、実際には_firld[0][0][0]に123が書き込まれてしまいます。
2次元配列でほぼ同じコードとスクリプトを書くと元の配列に変更は加えられませんでした。
3次元配列をスクリプトに参照ではなく値渡しする方法がわからず困っています。解決法を教えていただければ幸いです。

通報 ...