我很書面方式小樂的應用程序和我玩每88個鍵是這樣的:邏輯循環,
if (nutka == "A0" && msg.Velocity < 28)
{
PlayEngine.Instance.PlaySound("-12dB_01");
}
else if (nutka == "A0" && msg.Velocity < 55 && msg.Velocity > 27)
{
PlayEngine.Instance.PlaySound("-9dB_01");
}
else if (nutka == "A0" && msg.Velocity < 82 && msg.Velocity > 54)
{
PlayEngine.Instance.PlaySound("-6dB_01");
}
else if (nutka == "A0" && msg.Velocity < 106 && msg.Velocity > 81)
{
PlayEngine.Instance.PlaySound("-3dB_01");
}
else if (nutka == "A0" && msg.Velocity < 128 && msg.Velocity > 105)
{
PlayEngine.Instance.PlaySound("0dB_01");
}
正如你所看到的,我有5個速度範圍爲信號的一個關鍵,從我的外部MIDI控制器。而且我有類似的88如果說明,唯一的變化就是:「nutka」的名稱和播放文件名稱中的最後一位數字
(例如,在這裏我們可以使用一個音符「A0」 5個文件取決於速度:-12dB_01,-9dB_01,-6dB_01,-3dB_01和0dB_01,這看起來真的很糟糕的代碼爲88音符...
不知道如何使短版或短循環。 ..任何幫助apprreciated。
列表和和一些lamdas將成爲你的朋友在這裏! – Sean
如果'nutka ==「A1」'或'nutka ==「B4」'會怎麼樣?你能*計算最終的字符串嗎? –