我有一个名为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文件:
答案 0 :(得分:2)
如果您希望能够通过数字索引查找对象,则需要数组,而不是普通对象:
var opponentTrucks = [];
你所拥有的将会有所作为,但如果你打算像对待它一样,没有理由不使用真正的阵列。
编辑 - 它仍然不是很清楚究竟是什么问题。这一行:
opponentTrucks[i].teleportToThat( lat, lng, heading );
该怎么办?从哪里打来的? “我”的价值是多少?如果你只是在循环之后有这个语句,那么它就不会起作用了。如果你想在数组中为中的每一个调用“teleportToThat()”函数,那么你应该将函数调用置于“for”循环中。
答案 1 :(得分:2)
如果您只使用数字键,则需要一个数组,而不是一个对象:
var opponentTrucks = [];
for (var i = 0; i < markers.length; i++) {
opponentTrucks.push(new TruckModel());
}
这可能不会阻止您的代码实际运行,但几乎肯定会有所改进。
如果仍有错误,也许您可以说出它们是什么: - )