0

わかりました、私はこれを機能させるために一晩中起きていました。私は完全なJavaScript初心者です

var Hunger=8;

var interval = setInterval( increment, 10000);

    function changeImage(a) {
        document.getElementById("img").src=a;
    window.setTimeout(goIdle,20000)
    }
function goIdle() {
    document.getElementById("img").src="idle.gif";

function increment(){
        Hunger = Hunger % 24 + 1;
    if (Hunger >= 24)
    }
    if (Hunger >= 12)
        changeImage("cry.gif")
    }
}

function eat() {
    if (Hunger == 6) {
        changeImage("love.gif");
        var Hunger=0
    }
    else {
        ...
    }
}

ボタンを押してトリガーすると、

    <input type="button" value="Eat" onclick='eat();' /> 

イメージは変わるが空腹感は減らない

4

2 に答える 2

2

構文エラーがいくつかあるため、JavaScript が機能しなくなる可能性があります。読みやすくするためにタブを追加し、これらのエラーを指摘するためにコードにコメントを追加しました。

var Hunger = 8,
    interval = setInterval(increment, 10000);

function changeImage(a) {
    document.getElementById("img").src = a;
    window.setTimeout(goIdle, 20000)
}

// So far so good, but here it begins..
function goIdle() {
    document.getElementById("img").src = "idle.gif";

    function increment() {
        Hunger = Hunger % 24 + 1;
        // Why is this if-statement here?
        // You probably want to put this line above the previous line instead.
        if (Hunger >= 24)
    }
    // Missing the '{'?
    if (Hunger >= 12)
        changeImage("cry.gif")
// Because here are two '}' while there is only one open
}
}

// Because of these errors, this line will not be reached and thus
// there is no function eat()
function eat() {
    if (Hunger == 6) {
        changeImage("love.gif");
        // Remove 'var' here because otherwise you create a new variable
        // inside this function's closure.
        var Hunger = 0
    } else {
        ...
    }
}

これらは簡単に修正できます。これについてサポートが必要な場合は、コメントを残してください。この回答を編集します。

于 2013-08-20T12:28:42.977 に答える
0

これを試してください:

var Hunger を Hunger に変更しました

function eat() {
    if (Hunger == 6) {
        changeImage("love.gif");
        Hunger=0;
    }
    else {
        ...
    }
}
于 2013-08-20T12:21:27.193 に答える