Сообщение от Данил
В blitzMax можно объявить динамический массив.
Но максимальный индекс элемента в нем может быть 71801.
Global Base_Image_array:Int[];
Global Base_Image_number:Int;
Base_Image_array[71801]=3;
Base_Image_array[71800]=3;
Base_Image_array[71799]=3;
почему именно 71801 ? 71802 уже не работает!
add
а в этот раз до Base_Image_array[71809]=3; дошло, и ничего
|
Local BigArray:Int[100500]
BigArray[3333] = 3333
BigArray[71799] = 71799
BigArray[99999] = 99999
BigArray[100499] = 100500 - 1
Print BigArray[3333]
Print BigArray[71799]
Print BigArray[99999]
Print BigArray[100499]
Насколько я знаю разpмер массива в BM нужно указывать обязательно. Изменение размера = пересоздание массива. Лучшим вариантом будет использование БД для таких объемов, но ежели памяти не жалко, то используй TList или напиши свой аналог. Ежели хранить нужно только int, то можно смело и банки использовать.
Сообщение от baton4ik
Загружаю звуки в массив Global msounds:TSound[5]
Далее проверяю, не воспроизводится ли csound:TChannel
Если нет, то csound=PlaySound(msounds[Rand(0,4])
Звука нет. Никаких ошибок, весь остальной код работает как надо. Формат - wav. Другие не пробовал.
|
Раздел фреймворк покажи.
Накидаю ка пример использования звука в бм:
Framework brl.basic
Import brl.directsoundaudio
Import brl.oggloader
SetAudioDriver( "DirectSound" )
Local s:TSound = LoadSound("C:\BlitzMax\samples\digesteroids\sounds\menu.ogg")
Local c:TChannel = s.Cue()
If Not c.Playing() Then PlaySound(s)
Delay(1500)
c = Null ; GCCollect()
SUPERSTRICT или UNINSTALL - Выбор за тобой, %ЮЗЕРНЕЙМ%