我有一个名为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”循环内。