flash钢琴自动弹奏之Windows Script实现版
发布时间:2020-12-15 18:01:29 所属栏目:百科 来源:网络整理
导读:flash钢琴,网上有很多,swf版,exe版都有。弹着挺有趣。就是难度高的,弹来弹去都比较难找到感觉,需要听听原曲或者让flash钢琴自动弹奏一下听听。 在windows平台因为有WScript组件,SendKeys方法,可以很容易实现。 // shift {+}// ctrl {^}// alt {%}var
flash钢琴,网上有很多,swf版,exe版都有。弹着挺有趣。就是难度高的,弹来弹去都比较难找到感觉,需要听听原曲或者让flash钢琴自动弹奏一下听听。 在windows平台因为有WScript组件,SendKeys方法,可以很容易实现。 // shift {+} // ctrl {^} // alt {%} var shell=WScript.CreateObject("WScript.Shell"); //延时毫秒基准根据机器速度自行调整 function delay(s) { var k=0; for(var t=0;t<s;t++) { for(var i=0;i<10000;i++) { k++; } } } function activate(name) { shell.AppActivate(name); } //flash钢琴所在程序窗体自行调整 function onPiano() { WScript.Echo("打开flash钢琴窗口后再关闭我,然后立即点击钢琴窗体"); activate("Adobe Flash Player 9"); delay(1000); } function key(k) { shell.SendKeys(k); } function play(k) { key(k); } function musicNormal(m) { var codes=m.split(""); var oncekeys=""; var state=""; for(var i=0;i<codes.length;i++) { switch(codes[i]) { case "(": oncekeys=""; state="oncekeys"; break; case ")": state=""; play(oncekeys); delay(250); break; //延时 case "-": delay(250); break; //忽略字符 case "r": case "n": case " ": case " ": break; default: if(state=="oncekeys") { oncekeys+=codes[i]; }else { play(codes[i]); delay(250); } break; } } WScript.Echo("谢谢!"); } onPiano(); musicNormal("TU(Vf)hj(Uh)(Vf)h(Xj)-(Uc)egece(Tg)(Se)(Ta)df(Sd)(Ta)d(Vf)-(Sh)ehijl(cR)(aQ)(Rb)fi(Qc)(bR)dV-(QF)cfgh(Vc)(Ud)bdfhgfc-(Uc)cfgJTU(fv)hj(hU)(fV)h(jX)-(cU)egece(gT)(eS)(aT)df(Sd)(aT)d(Vf)-(Sh)ehijl(cR)(aQ)(Rb)fi(Qc)(bR)dV-(Wf)ca(cx)(fV)gfc(vd)ut-(ub)-q-(tf)cfghj----"); 把代码保存为play.js,关联js文件以WScript解释执行,即可听到“天空之城”的开头部分。 注意现仅支持含26字符以及()-三个符号的曲谱。有兴趣的可以自己扩展,很简单。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |