Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gamebook代码抛出未定义的错误,页面底部显示的内容和图像不会加载-Javascript_Javascript_Html_Css - Fatal编程技术网

Gamebook代码抛出未定义的错误,页面底部显示的内容和图像不会加载-Javascript

Gamebook代码抛出未定义的错误,页面底部显示的内容和图像不会加载-Javascript,javascript,html,css,Javascript,Html,Css,我一直收到各种各样的代码错误。它应该是一个游戏书引擎代码。一个简单的。我在这件事上犯了各种各样的错误,我不知道为什么 我的控制台一直说第1行()未定义404未找到 第二,我所有的内容都在页面底部加载 第三。。。图像应加载到屏幕上,但未加载。如果我添加了一部电影,它将播放该电影,但不会显示图像 你能告诉我我做错了什么吗 编辑:表示解决方案的固定代码: objdc{ 光标:指针; 文字装饰:下划线; 颜色:蓝色; } var GameObjects={ “标题屏幕”:[ ['RoomName',

我一直收到各种各样的代码错误。它应该是一个游戏书引擎代码。一个简单的。我在这件事上犯了各种各样的错误,我不知道为什么

我的控制台一直说第1行()未定义404未找到

第二,我所有的内容都在页面底部加载

第三。。。图像应加载到屏幕上,但未加载。如果我添加了一部电影,它将播放该电影,但不会显示图像

你能告诉我我做错了什么吗

编辑:表示解决方案的固定代码:


objdc{
光标:指针;
文字装饰:下划线;
颜色:蓝色;
}
var GameObjects={
“标题屏幕”:[
['RoomName','Title Screen'],
['RoomDesc','您的第一个房间描述。转到2号房间],
['XRes','320'],
['YRes','240'],
['RmImg','http://selmiak.bplaced.net/games/c64/zak/room/74_intro_00_256.png'],
['RmMov','']
],
“2号房间”:[
['RoomName','Title Screen'],
['RoomDesc','您的第一个非标题屏幕室。返回标题屏幕室'],
['XRes','320'],
['YRes','240'],
['RmImg','http://selmiak.bplaced.net/games/c64/zak/room/74_intro_00_256.png'],
['RmMov','']
]
}
var GAMENAME='';
var OBJECTGLOBAL=''//指示当前加载的对象。
var GAMECURPLAYER=''//指示您控制的当前播放机。
var GAMESCORE='0';
var GLOBALSETCLS=false;
const OBJECTNAME=0;
常量OBJECTDESC=1;
constobjectxsize=2;
常量OBJECTYSIZE=3;
常量OBJECTIMAGE=4;
常量OBJECTMOVIE=5;
函数replaceAll(str、find、replace){
返回str.replace(新的RegExp(查找'g'),replace);
}//结束函数ParsePlayerInput
功能装载室(roomname){
//加载指定的房间并设置全局设置。如果指定了电影文件,引擎将首先播放电影文件。一旦电影完成,它将加载房间图像。当前,视频将只播放一次。一旦播放,它将只显示一个图像。如果未指定电影,它将只加载房间背景图像。如果没有图像,它将不显示图像。
OBJECTGLOBAL=roomname;
if(游戏对象[OBJECTGLOBAL][OBJECTMOVIE][1]!=''){
document.getElementById(“StartRoomLoad”).innerHTML=''+'';
}else if(游戏对象[OBJECTGLOBAL][OBJECTIMAGE][1]!=''){
//log(GameObjects[OBJECTGLOBAL][OBJECTIMAGE][1]);
document.getElementById(“StartRoomLoad”).innerHTML=“”;
}
document.getElementById(“StartRoomText”).innerHTML=GameObjects[OBJECTGLOBAL][OBJECTDESC][1];
}
函数hidevideo(roomname){
//在room enter上播放视频后调用此函数。它将关闭视频,然后显示图像(如果有)。
var x=document.getElementById(“mainvid”);
var y=document.getElementById(“RoomBackground”);
x、 style.display=“无”;
如果(游戏对象[OBJECTGLOBAL][OBJECTIMAGE][1]!=''){
document.getElementById(“StartRoomLoad”).innerHTML=“”;
}
}
装载室(“标题屏幕”);
var span=document.getElementsByTagName('objdc');
对于(i=0;i
它在IE而不是Chrome上工作的原因是您的if语句依赖于一个奇怪的equality edge案例。请看这一行:

if (GameObjects[OBJECTGLOBAL][OBJECTMOVIE][1] != ''){
GameObjects[OBJECTGLOBAL][OBJECTMOVIE]
evalutes到数组
[“RmMov”]
。因此,
GameObjects[OBJECTGLOBAL][OBJECTMOVIE][1]
未定义的

未定义的
进行比较
是一个非常奇怪的等式检查,因此IE将整个语句解释为
,而Chrome则解释为

无论如何,它假设数组中有第二个值,但实际上没有。要修复它,请将
['RmMov',]
['RmMov']
更改为
['RmMov','']


这应该行得通。

它在IE而不是Chrome上运行的原因是你的if语句依赖于一个奇怪的equality edge案例。请看这一行:

if (GameObjects[OBJECTGLOBAL][OBJECTMOVIE][1] != ''){
GameObjects[OBJECTGLOBAL][OBJECTMOVIE]
evalutes到数组
[“RmMov”]
。因此,
GameObjects[OBJECTGLOBAL][OBJECTMOVIE][1]
未定义的

未定义的
进行比较
是一个非常奇怪的等式检查,因此IE将整个语句解释为
,而Chrome则解释为

无论如何,它假设数组中有第二个值,但实际上没有。要修复它,请将
['RmMov',]
['RmMov']
更改为
['RmMov','']


那应该行。

我想说,在IE中,一切都很好。在铬。。加载不好。我们在哪里可以找到
gamebook.js
?哦,对不起。。我忘了拆下那条线。Gamebook.js只包含变量GameObjects的内容。我把它复制到上面的代码中只是为了方便。现在计算机上没有,所以我不能说这是否有帮助,但是你的脚本标记在你的HTML标记之外。你的样式标记也在HTML标记之外。图像似乎是用display:none初始化的,这可能解释了为什么它们没有显示。我想说的是,在IE中,一切都很好。在铬。。加载不好。我们在哪里可以找到
gamebook.js
?哦,对不起。。我忘了拆下那条线。Gamebook.js只包含变量GameObjects的内容。