「サクラ」質問掲示板

サクラの質問掲示板です。

@91■ (#301) 配列(array)について - フォルミナ (2014-08-15 17:07) /低 解決
【症状】どのような症状、現象か?

Functionの引数を ヘッダファイルの中で宣言している配列型の変数を入力してその中からランダムに音を鳴らしたいのですが再生するとどうしても低い音になってしまいます。

【再現方法】サンプルソース、再現手順など

FUNCTION Randomusic(Loop,Note,AL, R, C){   
//_宣言値
Int Loop=1000//繰り返し回数
ARRAY N1 = (1, 3, 5, 6, 8, 10, 12) //音階1
ARRAY N2 = (13,  15,  17,  18, 20,  22,  24) //音階2
ARRAY N3 = (25,  27,  29,  30,  32,  34,  36) //音階3
ARRAY N4 = (37,  39,  41,  42,  44,  46,  48) //音階4
ARRAY N5 = (49,  51,  53,  54,  56,  58,  60) //音階5
ARRAY N6 = (61,  63,  65,  66,  68,  70,  72) //音階6
ARRAY N7 = (73,  75,  77,  78,  80,  82,  84) //音階7
ARRAY N8 = (85,  87,  89,  90,  92,  94,  96) //音階8
ARRAY N9 = (97,  99,  101, 102, 104, 106, 108) //音階9
ARRAY N10 = (109, 111, 113, 114, 116,118, 120) //音階10
ARRAY N11 = (121, 123, 125, 126, 128, 130, 132) //音階11
Int AL = 4; //連続音乱回数発音確率
Int R = 5;  //休符発音確率
Int C = 2;   //和音発音確率
Int CR = 20; //和音乱音
//_プログラム
[(Loop) //音楽開始
Int Note = RandomSelect(N6,N7)//音符
Int SoundLength =RandomSelect(1,2,4,8,16,32)//音長
Int ContinuousSound = Random(AL)//連続音乱回数発音確率
Int Rest = Random(R)//休符発音確率
Int Chord = Random(C)//和音発音確率
Int ChordRandom = Random(CR)//3和音発音確率
[(ContinuousSound) 

IF(Rest=1){//休符
IF(SoundLength=1){SoundLength=0} 
IF(SoundLength=2){SoundLength=0} r(SoundLength)}
l(SoundLength) n(Note) //音長・音
IF(Chord=1){r-(SoundLength) n(Note+ChordRandom)} 
IF(ChordRandom>15){ChordRandom = Random(CR) r-(SoundLength) n(Note+ChordRandom)}]
]
}

【要望】どのような解決が望ましいか?

Randomusic()←引数 Noteの部分に N1~N11の中のどれかの配列をいれたい

【バージョン】確認したバージョン
Editor ver2.375
DLL     Ver2.374
【その他】

再生すると非常に不愉快ですw
配列(array)について / フォルミナ (2014-08-15 17:07) (#301)/ 低 解決
  自己解決 / フォルミナ (2014-08-15 17:08) (#303)/ 低 未処理
  すこしだけ、直してみました / 通りがかり (2014-08-15 18:24) (#304)/ 低 確認待ち
    改善ありです / フォルミナ (2014-08-24 21:53) (#306)/ 低 未処理

(#301)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を平仮名で記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能