我有一个名为TruckModel的对象,该对象先前在我的JavaScript文件milktruck.js中定义。

我正在尝试创建这些TruckModel对象的数组,因为在任何给定时间,我的多人游戏玩家进入和退出时,都不需要多少TruckModel对象。

我知道我当前的代码无法正常工作,因为当我使用下面的teleportToThat函数时,该模型不会显示。

通过在index.html文件中仅声明一个TruckModel()对象,然后使用teleportToThat,可以显示模型

这是我的代码,您在执行过程中是否看到任何错误?

非工作版本:

 var opponentTrucks = [];

 for (var i = 0; i < markers.length; i++) {

      opponentTrucks[i] = new TruckModel();
      opponentTrucks[i].teleportToThat( lat, lng, heading );

 }


工作版本:(不同的是,我尝试使用各种数量的TruckModel对象)

在index.html文件中声明:

 var model;


在JavaScript文件中声明:

 model.teleportToThat( lat, lng, heading );


这是整个JavaScript文件:

http://thehobbit2movie.com/milktruck.js

最佳答案

如果希望能够通过数字索引找到对象,则需要一个数组而不是一个普通对象:

var opponentTrucks = [];


您所拥有的将是可行的,但如果您要像对待一个真正的数组一样,没有理由不使用实际数组。

编辑-仍然不清楚到底是什么问题。这行在这里:

opponentTrucks[i].teleportToThat( lat, lng, heading );


那应该怎么办?它从哪里来? “ i”的值是多少?如果只是在循环之后使用该语句,则它将无法正常工作。如果要为数组中的每个函数调用“ teleportToThat()”函数,则应将函数调用放在“ for”循环内。

07-26 05:39