用HTML5,CSS和JavaScript重写用Unity编写的程序有点棘手。一件现在让我很困扰的事情是,我创建了一个名为isGame
的变量,其值为true
或false
。
该代码最初给它一个false
的值,并且在某些页面上(例如,一个具有数字值的pageNumber
变量)应该是false
。不知道我输入错了什么或什么,但是没有用。
代码如下:
function setContent() {
if (pageNumber == 1) {
var isGame = false;
document.getElementById("ng_audiocontainer").innerHTML = '<audio autoplay="autoplay"><source id="ng_intro" src="audio/example"></audio>';
currentAudio = document.getElementById("ng_intro");
document.getElementById("ng_body").innerHTML = '<img src="images/example.png" id="ng_logo">';
document.getElementById("ng_lipsbutton").style.display = "none";
}
}
如您所见,setContent()
函数用内容填充HTML块,并自动播放音频。它基本上是一种交互式学习工具,带有向左和向右箭头。右侧递增并调用setContent()
,左侧递减并调用setContent()
,从而创建一种由贫民窟操纵的分页。
我唯一遇到的问题是isGame
变量没有被声明为false
或true
,只是我最初声明它的顶部我的剧本这没有任何意义,因为我写的与写页码的写法相同。救命?
很抱歉,如果这是TLDR,则不确定如何总结。
编辑:
更多细节。在脚本的最上层(顺便说一下,这是内部的,因为它将基本上粘贴到网站HTML中),我将pageNumber
声明为0
,将isGame
声明为false
。
var pageNumber = 0;
var isGame = false;
function setContent() {
以下当然是上面的功能。 isGame
被称为,当某些事情被点击时,有些是“错误的”,有些是“正确的”,但是我只希望它们能够对isGame == true
的被点击做出反应。这是代码:
function rightLetter() {
if (isGame == true) {
pageNumber++;
setContent();
}
答案 0 :(得分:-1)
每次调用该函数时,都会覆盖isGame
变量。试试这个:
var isGame = false; // Declare your boolean var first
function setContent() {
if (pageNumber == 1) {
isGame = true; // Update your var here, to true or false
document.getElementById("ng_audiocontainer").innerHTML = '<audio autoplay="autoplay"><source id="ng_intro" src="audio/example"></audio>';
currentAudio = document.getElementById("ng_intro");
document.getElementById("ng_body").innerHTML = '<img src="images/example.png" id="ng_logo">';
document.getElementById("ng_lipsbutton").style.display = "none";
}
}