我需要处理一个能够在没有高CPU负荷的情况下尽快响应的钢琴键,并在Flex应用程序中重复按键和释放虚拟钢琴。
呼叫功能是否有效或Switch?
示例:
switch(keyNote)
case 'c4': keypress.button=down;
case 'c4': keypress.button=down;
case 'c4': keypress.button=down;
case 'c4': keypress.button=down;
case 'c4': keypress.button=down;
case 'c4': keypress.button=down;
或
function () {
if (keyNote=='c4'){keypress.button=down}
if (keyNote=='c4'){keypress.button=down}
if (keyNote=='c4'){keypress.button=down}
if (keyNote=='c4'){keypress.button=down}
}
或
function c4_Key() {
keypress.button=down;
}
我也想知道是否有另一种方法使用dispatchevent按id调用按钮并设置按钮状态为按钮?
答案 0 :(得分:4)
如果,if,if功能,请不要使用自己的if。编译器不喜欢选项(例如,如果可以是true或false) 我会创建一个字典对象,以便您可以获得如下响应:
var keyMap:Dictinary = new Dictionary()
//Here you would populate the dictionary with the diff. keys and values
//pseudo body of keyDown test funcion
keyMap[keyNote].keypress.down;
或者您的示例代码试图做的事情:)
答案 1 :(得分:0)
这个想法是每个条件都在一个单独的类中,它覆盖/扩展了可以进行切换的函数。
虽然我个人还没有在代码中消除条件的使用,但我确实试图在条件语句中使用这种方法。而且你真的可以用这种方式替换所有(只是约束)条件,有时好处不会超过进入它的工作,特别是如果你知道你不会扩展代码。