【问题标题】:Can't Concat 4 Arrays together不能将 4 个数组连接在一起
【发布时间】:2013-01-10 19:02:20
【问题描述】:
var upArray : Array = new Array();
var downArray : Array = new Array();
var leftArray : Array = new Array();
var rightArray : Array = new Array();

upArray = [100,110,120,130,140,150,200,210,220,230];
downArray = [100,110,120,130,140,150,200,210,220,230];
leftArray = [100,110,120,130,140,150,200,210,220,230];
rightArray = [100,110,120,130,140,150,200,210,220,230];

var joinedArray : Array = upArray.Concat(downArray,leftArray,rightArray);

上面的代码给了我编译器错误:

NullReferenceException:对象引用未设置为对象的实例 TerrainGenerator2.Main () (在 Assets/Scripts/TerrainGenerator2.js:516)

使用 Unity / Javascript / Unityscript。

请帮忙!

【问题讨论】:

    标签: arrays null nullreferenceexception concat


    【解决方案1】:

    试试 upArray.concat(downArray,leftArray,rightArray)。 Javascript 区分大小写。单词“Concat”应该都是小写字母。

    var upArray  = new Array();
    var downArray = new Array();
    var leftArray = new Array();
    var rightArray  = new Array();
    
    upArray = [100,110,120,130,140,150,200,210,220,230];
    downArray = [100,110,120,130,140,150,200,210,220,230];
    leftArray = [100,110,120,130,140,150,200,210,220,230];
    rightArray = [100,110,120,130,140,150,200,210,220,230];
    
    var joinedArray = upArray.concat(downArray,leftArray,rightArray);
    
    alert(joinedArray.length);
    

    它在小提琴中奏效 http://jsfiddle.net/gregnozik/2C3UT/

    【讨论】:

    • 在 Unity 中,Concat 需要大写字母 C。我试过不使用小写字母,只是让它暗示大写。
    • 尝试一一做。 varjoinedArray = upArray.Concat(downArray,leftArray)
    • 也试过了。同样的问题。我认为这与数组的分类有关。 Unity 在引用和对象方面就是这么麻烦。
    • 声明joinedArray时,删除:Array。所以你将只有 var joinedArray
    • 我注释了上面的一些代码,现在它可以工作了……我注释掉了很多,但我不确定它是如何干扰的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-23
    • 1970-01-01
    • 2020-02-06
    • 1970-01-01
    • 1970-01-01
    • 2018-05-19
    相关资源
    最近更新 更多