Перейти к публикации
Форум - ComputerCraft

Поиск по сайту

Результаты поиска по тегам 'ВОЛНЫ'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип публикаций


Блоги

  • TEMP BLOG
  • Робот Байт
  • Fingercomp's Playground
  • DUIIIES ' - блог
  • 1Ridav' - блог
  • Totoro Cookies
  • Блог cyber01
  • Another Brick In The Wall
  • IncluderWorld
  • KelLiN' - блог
  • Крутой блог
  • eutomatic blog
  • Programist135 Soft
  • Создаем собственный сайт в сети OpenNet
  • PieLand
  • Очумелые ручки
  • Блог недоблоггера
  • В мире майнкрафта, его модификаций и не только
  • Матрица
  • LaineBlog
  • Квантовый блог
  • Велосипедный блог
  • Как Pofigist кодить пытается
  • Блог qwertyMAN'а
  • NullException - DevBlog
  • Гайды для новичков и программы от LuaGamer`a
  • Дача Игоря

Категории и разделы

  • Программирование
    • База знаний
    • Библиотеки
    • Робототехника
    • Сетевые технологии
    • Игры
    • Операционные системы
    • Графика
    • Инфраструктура
    • Программы новичков
    • За пределами Minecraft
    • Всякое-Разное
    • Чулан
    • Стол заказов
    • Конкурсы
  • Игровой раздел
    • Игровые сервера
    • Предложения игроков по улучшению игрового процесса
    • Моды и плагины
    • Гайды, обзоры по модам
    • Жалобы на игроков
    • Заявки на разбан
    • Ивенты
  • Общение
    • Ответы на частые вопросы
    • Вопрос-ответ
    • Вопросник по Lua и модам Opencomputers и ComputerCraft
    • Беседка для программистов
    • Беседка-флудилка
    • Шкатулка
  • Технический раздел
    • Новости проекта
    • Предложения по улучшению работы форума и игровых серверов
    • Проблемы в работе игрового сервера, клиента, форума и их решение
    • Дубль аккаунты
    • Обратная связь
    • Архив

Искать результаты в...

Искать результаты, содержащие...


Дата создания

  • Начать

    Конец


Последнее обновление

  • Начать

    Конец


Фильтр по количеству...

Зарегистрирован

  • Начать

    Конец


Группа


AIM


MSN


Сайт


ICQ


Yahoo


Jabber


Skype


Gtalk


Facebook


Twitter


Город


Интересы

Найдено 1 результат

  1. Взываем на помощь богов и богинь звука! В общем, в CX в 1.6.1 заезжает крутейшая, звуковая карточка. Я сейчас вкратце опишу её функции, взятые из исходников мода. sound.modes — это таблица, которая содержит пары "имя формы волны ⟷ её код" и наоборот. Например, sound.modes.sine вернёт код для синусоиды. Вроде 0, лень вверх по сырцам бежать. Имеются следующие формы волн: square (ква... меандр), sine (синусоида), triangle (треугольная), sawtooth (пилообразная). А ещё есть noise — это белый шум. Есть функция sound.setTotalVolume(volume: number), которая моментально для всех каналов выставляет общую громкость (от 0 до 1). Каналы? Их, как и у предшественников — шумовых и пищащих карт, — 8 штук. Они нумеруются от 1 до 8 включительно, и на каждый из них можно поместить... Инструкции, которыми управляется звуковая карта. Есть некая "очередь" у звуковой карточки, в которую помещаются определённые инструкции, и затем... sound.process() запускает в фоне обработку этой "очереди". То есть, будут устанавливаться параметры, играться звук и прочее. Обращу внимание, что это всё в фоне, да. То есть, нам нужны циклы типа таких: while not sound.process() do os.sleep(.05) end. Очередь можно почистить через sound.clear(). И снова про каналы. Каждый из них может быть закрыт или открыт. Соответственно, закрытый канал в большинстве случаев играть звук не будет, а открытый — с превеликим удовольствием. Открыть можно с помощью sound.open(channel: number), закрыть — sound.close(channel: number). И да, это уже инструкции. Вот вам ещё инструкций. Можно установить форму волны на отдельном канале: sound.setWave(channel: number, type: number), вторым аргументом надо скормить код, полученный через sound.modes. Можно установить частоту этой самой волны с помощью sound.setFerquency(channel: number, frequency: number). Инструкция, а как же. Если вы любители... ээ, регистра сдвига с линейной обратной связью, в общем, LFSR/РСЛОС, можно даже на канал ответственную задачу генерирования этого шума возложить. Функция: sound.setLFSR(channel: number, initial: number, mask: number). Чёрт знает, как она работает. Функция sound.delay(duration: number), должна, вообще, выставить какую-то задержку с данной длительностью в миллисекундах. Но что-то я совершенно не понимаю, как её использовать. А использовать надо! Иначе звука не будет. И сразу же можно поставить частотную модуляцию с помощью sound.setFM(channel: number, modIndex: number, intensity: number). Или убрать её: sound.resetFM(channel: number). Тем же образом можно выставить и амплитудную модуляцию. sound.setAM(channel: number, modIndex: number) и sound.resetAM(channel: number). С помощью sound.setADSR(channel: number, attack: number, decay: number, attenuation: number, release: number) имеется возможность выставить ADSR-огибающую. Второй, третий и пятый аргументы указываются в миллисекундах, четвёртый — в виде числа от 0 до 1. Или убрать её: sound.resetEnvelope(channel: number). Для отдельного канала возможно выставить громкость, для этого нужна команда sound.setVolume(channel: number, volume: number). Громкость, как обычно, от 0 до 1. Собственно, это все функции. Теперь осталась мааааленькая запинка, с которой после несколько часов тыканья я не особо справился. Как заставить эту карту сгенерировать мне звук? Потому предлагаю поиграться с этой штукой всем форумом 1.7.10: качаем OC, CX и Asielib. 1.8: OC тут, Asielib не нужен. 1.9: OC тут, Asielib тоже не нужен. И если вы-таки поняли, как заставить её генерировать звук разных уровней крутости, отпишитесь об этом здесь.
×