効果音追加
by
cutfloss
2 hours ago [2026/05/07 23:23:57]
キル時、ゲーム開始・終了時などに短い効果音が鳴るようになるぞっ
/*
* @title 効果音追加
* @description キル時、ゲーム開始・終了時などに短い効果音が鳴るようになるぞっ
* @private
*/
javascript:(function(){
/* 1. 音源の定義(司令官、ここにお好みのURLを入れることも可能です) */
const SOUNDS = {
start: 'https://actions.google.com/sounds/v1/alarms/beep_short.ogg',
kill: 'https://actions.google.com/sounds/v1/cartoon/pop.ogg',
dead: 'https://actions.google.com/sounds/v1/science_fiction/glitch_low_power.ogg',
end: 'https://actions.google.com/sounds/v1/alarms/digital_watch_alarm_long.ogg'
};
/* 音を再生する共通関数 */
const play = (url) => {
const audio = new Audio(url);
audio.volume = 0.5; /* 音量は50%に設定 */
audio.play().catch(e => console.log('音声を再生できませんでした(ブラウザの制限など):', e));
};
/* 2. ゲームロジックへのフック(監視) */
/* A. 敵を倒した時 (衝撃波 spawnShockwave を利用) */
const originalSpawnShockwave = window.spawnShockwave;
window.spawnShockwave = function(x, y) {
/* 自分に近い場所での衝撃波(自分が倒した可能性が高い)なら音を鳴らす */
play(SOUNDS.kill);
return originalSpawnShockwave.apply(this, arguments);
};
/* B. 自分が倒されたとき / ゲームスタートの監視 */
let lastState = 'waiting';
const originalLoop = window.loop;
window.loop = function() {
if (typeof players !== 'undefined' && typeof myId !== 'undefined') {
const me = players.find(p => p.id === myId);
if (me) {
/* 状態の変化を検知 */
if (lastState !== 'active' && me.state === 'active') {
play(SOUNDS.start); /* 復活・スタート音 */
} else if (lastState === 'active' && me.state === 'dead') {
play(SOUNDS.dead); /* 死亡音 */
}
lastState = me.state;
}
}
return originalLoop.apply(this, arguments);
};
/* C. ゲーム終了(リザルト画面表示) */
const originalShowResult = window.showResultScreen;
if (typeof originalShowResult === 'function') {
window.showResultScreen = function() {
play(SOUNDS.end);
return originalShowResult.apply(this, arguments);
}
}
alert('【サウンドパッチ】適用完了!\n戦場に音が追加されました。');
})();
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。