W3C中文教程
全球最大最新的中文 Web 技术教程
HTML CSS SQL PHP COLORS MYSQL BOOTSTRAP
 

HTML 游戏声音



把声音调大。当红色方块击中障碍物时,是否听到"dunk"?








如何添加声音?

使用HTML5 <audio>元素将声音和音乐添加到游戏中。

在我们的例子中,我们创建一个新的对象构造函数来处理声音对象:

Example

function sound(src) {
    this.sound = document.createElement("audio");
    this.sound.src = src;
    this.sound.setAttribute("preload", "auto");
    this.sound.setAttribute("controls", "none");
    this.sound.style.display = "none";
    document.body.appendChild(this.sound);
    this.play = function(){
        this.sound.play();
    }
    this.stop = function(){
        this.sound.pause();
    }
}

要创建一个新的声音对象,使用 sound 构造函数,当红色方块击中障碍物时,播放声音:

Example

var myGamePiece;
var myObstacles = [];
var mySound;

function startGame() {
    myGamePiece = new component(30, 30, "red", 10, 120);
    mySound = new sound("http://cdn.w3schools.wang/bounce.mp3");
    myGameArea.start();
}

function updateGameArea() {
    var x, height, gap, minHeight, maxHeight, minGap, maxGap;
    for (i = 0; i < myObstacles.length; i += 1) {
        if (myGamePiece.crashWith(myObstacles[i])) {
            mySound.play();
            myGameArea.stop();
            return;
        }
    }

...

}
尝试一下 »

背景音乐

要添加背景音乐到您的游戏,添加一个新的声音对象,当你开始游戏时开始播放:

Example

var myGamePiece;
var myObstacles = [];
var mySound;
var myMusic;

function startGame() {
    myGamePiece = new component(30, 30, "red", 10, 120);
    mySound = new sound("http://cdn.w3schools.wang/bounce.mp3");
    myMusic = new sound("http://cdn.w3schools.wang/gametheme.mp3");
    myMusic.play();
    myGameArea.start();
}
尝试一下 »