我是编码的新手,这确实让我质疑......
我会发布一些代码,包括我使用的枚举以及我认为它应该说的内容。 我的枚举:
var schedule = {
CommuteWork: {
time: [1],
action: function() {npc.say("Hello!");}
},
Work: {
time: [2,3,4,5,6],
action: function() {}
},
CommuteHome: {
time: [7],
action: function() {}
},
Sleep: {
time: [8,9,10],
action: function() {}
},
Leisure: {
time: [5,6,7],
activities: {
bar: function() {
}
}
}
}
由以下代码调用的代码:
for (act in schedule) {
npc.say(act);
for (prop in act) {
npc.say(prop);
}
}
所以,随着npc在日程安排中说出行为,他会吐出:" CommuteWork" "工作"等。 我假设这样做是:"时间" "动作&#34 ;. 但由于某种原因,它正在给出:"休闲" " 0" " 1" " 2"等等达6个。 所有数字都不同。例如,当它表示睡眠时,数字为0到4.这些数字与prop.time不匹配。他们不会匹配我写过的任何代码。我必须在某个地方犯错,但我要么太累了,要么不太了解它。如果有人知道,我会喜欢这方面的帮助和解释。
请注意那些了解自定义npcs的人:是的,var计划是在init中声明的,我将它保存在npc.setTempData(" schedule",schedule)下,并在更新时使用&调用它#39; schedule = npc.getTempData(" schedule")'。我很乐意回答相关问题,但我认为它设置正确。
答案 0 :(得分:0)
正如Jaromanda X在评论中所指出的,正在发生的事情是它正在迭代行为的字符串并给出数字。我需要使用for (prop in schedule[act])
而不是for (prop in act)
。