1

好的,所以我和我的伙伴正在创建一个游戏和一个网站,他正在开发游戏,而我正在开发网站。游戏是使用 ImpactJS 引擎构建的,一切正常,但我们遇到的问题是我们应该如何保存高分。目前我们建立了一个网站,您可以在其中登录然后玩,我们的想法是在您完成关卡(或当您死亡时)后获得分数,然后将该分数与当前用户一起发送到数据库那是登录的。我们得到了可以做到这一点的函数,但问题是我们不知道应该如何将分数从 javascript 文件发送到实际数据库。

所以这就是现在的情况:首先我们实际上在 main.js 中获得了 highscore 函数

主.js

draw: function() {
        this.parent();
        this.background.draw(0,0);
        var x = ig.system.width/2;
        var y = ig.system.height/2 - 20;
        this.gameOver.draw(x - (this.gameOver.width * .5), y - 30);
        var score = (this.stats.kills * 100) - (this.stats.deaths * 50);
        this.instructText.draw('Total Kills: '+this.stats.kills, x, y+30,
        ig.Font.ALIGN.CENTER);
        this.instructText.draw('Total Deaths: '+this.stats.deaths, x, y+40,
        ig.Font.ALIGN.CENTER);
        this.instructText.draw('Score: '+score, x, y+50, ig.Font.ALIGN.CENTER);
        this.instructText.draw('Press Spacebar To Continue.', x, ig.system.height -
        10, ig.Font.ALIGN.CENTER);
        }

我们知道它是我们必须插入数据库的 + 分数。

然后我们得到了 DB 类,这就是将数据插入数据库(顺便说一下,我正在工作面向对象,因为这是一个学校项目,我们必须这样做)

数据库文件

public function insert($table, $fields = array()) {     
    $keys = array_keys($fields);
    $values = '';
    $x = 1;

    foreach($fields as $field) {
        $values .= '?';
        if($x < count($fields)) {
            $values .= ', ';
        }
        $x++;
    }

    $sql = "INSERT INTO {$table} (`" . implode('`,`', $keys) . "`) VALUES ({$values})";

    if(!$this->query($sql, $fields)->error()) {
        return true;
    }

    return false;
}

最后我们得到了高分类:

高分.php

public function create($fields = array()) {
    if(!$this->_db->insert('highscores', $fields)) {
        throw new Exception('There was a problem saving your score. Sorry!');
    }
}

是的,所以基本上我们不知道我们应该如何从外部 javascript 文件中获取 +score,并将其发送到 php...我们确实做了一些研究,发现也许我们应该为此使用 Ajax?无论如何,任何人都可以伸出援助之手吗?

4

0 回答 0