Forked from: Masashi.Yoshikawa's forked: forked from: JSMML sample View Diff (1) forked: forked from: JSMML sample Masashi.Yosh Follow 2018-01-08 19:56:55 License: MIT License Fork0 Fav0 View140 Play Stop Reload Fullscreen Smart Phone Readme JavaScript 61 lines HTML 4 lines CSS 8 lines forked: forked from: JSMML sample // forked from Masashi.Yoshikawa's "forked: forked from: JSMML sample" http://jsdo.it/Masashi.Yoshikawa/oth1 // forked from pigendre's "forked from: JSMML sample" http://jsdo.it/pigendre/igyw // forked from laphroaig's "JSMML sample" http://jsdo.it/laphroaig/dVQK function $(id){ return document.getElementById(id); } function play() { mml.play(getData()); } function ce(t) { return document.createElement(t); } function ac(e, t) { return (t || document.body).appendChild(e); } function gt(t) { return document.getElementsByTagName(t); } function draw() { melody.innerHTML = ""; for (var i = 0, l = 8; i < l; i++) { for (var j = 0, m = 8; j < m; j++) { var sel = ce("select"); var rnd = Math.round(Math.random() * 14); var tmp = 0; for (var k in notes) { var opt = ce("option"); tmp++; if (rnd == tmp) { opt.setAttribute("selected", "selected"); } opt.value = notes[k]; opt.innerHTML = k; ac(opt, sel); } ac(sel, melody); sels.push(sel); } ac(ce("br")); } } function getData(){ var data = "L8"; for (var i = 0, l = sels.length; i < l; i++) { data += sels[i].value; } return data; } var mml; var sels = []; var melody = $("melody"); var notes = {'-': "R", 'ド': "O4C", 'レ': "O4D", 'ミ': "O4E", 'ファ': "O4F", 'ソ': "O4G", 'ラ': "O4A", 'シ': "O4B", 'ド^': "O5C", 'レ^': "O5D", 'ミ^': "O5E", 'ファ^': "O5F", 'ソ^': "O5G", 'ラ^': "O5A", 'シ^': "O5B"}; JSMML.swfurl = 'http://logue.github.io/JSMML/JSMML.swf'; JSMML.onLoad = function() { mml = new JSMML(); }; $("play").onclick = play; $("random").onclick = draw; draw(); <script src="http://logue.github.io/JSMML/JSMML.min.js"></script> <button id="play">Play</button><button id="random">Random</button><br /> <div id="melody"></div> forked: forked from: JSMML sample button { margin: 0.5em; } select { margin: 0.2em 0; } // forked from Masashi.Yoshikawa's "forked: forked from: JSMML sample" http://jsdo.it/Masashi.Yoshikawa/oth1 // forked from pigendre's "forked from: JSMML sample" http://jsdo.it/pigendre/igyw // forked from laphroaig's "JSMML sample" http://jsdo.it/laphroaig/dVQK function $(id){ return document.getElementById(id); } function play() { mml.play(getData()); } function ce(t) { return document.createElement(t); } function ac(e, t) { return (t || document.body).appendChild(e); } function gt(t) { return document.getElementsByTagName(t); } function draw() { melody.innerHTML = ""; for (var i = 0, l = 8; i < l; i++) { for (var j = 0, m = 8; j < m; j++) { var sel = ce("select"); var rnd = Math.round(Math.random() * 14); var tmp = 0; for (var k in notes) { var opt = ce("option"); tmp++; if (rnd == tmp) { opt.setAttribute("selected", "selected"); } opt.value = notes[k]; opt.innerHTML = k; ac(opt, sel); } ac(sel, melody); sels.push(sel); } ac(ce("br")); } } function getData(){ var data = "L8"; for (var i = 0, l = sels.length; i < l; i++) { data += sels[i].value; } return data; } var mml; var sels = []; var melody = $("melody"); var notes = {'-': "R", 'ド': "O4C", 'レ': "O4D", 'ミ': "O4E", 'ファ': "O4F", 'ソ': "O4G", 'ラ': "O4A", 'シ': "O4B", 'ド^': "O5C", 'レ^': "O5D", 'ミ^': "O5E", 'ファ^': "O5F", 'ソ^': "O5G", 'ラ^': "O5A", 'シ^': "O5B"}; JSMML.swfurl = 'http://logue.github.io/JSMML/JSMML.swf'; JSMML.onLoad = function() { mml = new JSMML(); }; $("play").onclick = play; $("random").onclick = draw; draw(); <script src="http://logue.github.io/JSMML/JSMML.min.js"></script> <button id="play">Play</button><button id="random">Random</button><br /> <div id="melody"></div> button { margin: 0.5em; } select { margin: 0.2em 0; } use an iframe compat browser, deer Play on jsdo.it games Author Share ブログに埋め込む QR Tag Download Complete! Description What kind of game? Control Device Smartphone Controllerjsdo.it WebSocket Controller» Mouse Keyboard Touch Device Fullscreen Activated Inactivated jsdo.it games から削除する Submit Author Masashi.Yoshikawa URLhttps://logue.be/ しばしば理性が蒸発するプログラマー Tweet Default Panel Auto play Screenshot Readme JavaScript HTML CSS Size Width: px Height: px code <script type="text/javascript" src="http://jsdo.it/blogparts/AoeP/js"></script> library&test Discussion Questions on this code? Tags library&test