Последний раз, когда мы смотрели на некоторые заявления использовании, если ... еще и выберите (). Они помогли нам запустить сценарий, когда произошло что-то конкретное, как и записка, которую играет. Если вы помните, мы создали скрипт, который позволит нам триггером (или не-байпас) некоторые внутренние эффекты, нажав заметки о нашем MIDI-клавиатуры.
Частью это было сделано путем воздействия на байпас контроля эффектов с помощью некоторых встроенных переменных, а именно $ ENGINE_PAR_EFFECT_BYPASS, который был просто ссылку на этот параметр. В этой части собирался углубиться в переменные, как встроенные, так и определенные пользователем.
Что такое переменная?
Переменные, без сомнения, самая важная вещь в любом скриптовом языке, и было бы довольно трудно приступить к остальным эти семинары не объясняя их более подробно.
Переменная представляет собой устройство, который содержит часть информации. В любой момент вы можете обратиться к этой части информации, ссылаясь, что переменные имя. Думайте о нем, как ярлык.
Вы можете заполнить переменную статической (постоянной) части информации, такой как имя, номер или объект. Также Вы можете заполнить его чем-то динамичным, как текущее значение изменения параметра, который затем может быть передан на что-то другое.
Есть два основных типа переменной. Встроенные и определяемые пользователем. Давайте посмотрим!
Встроенные переменные
Язык Kontakt сценариев имеет множество встроенных переменных, которые написаны на языке. В основном это ссылки на доступные параметры двигателя Kontakt, а именно, что вы можете управлять с КСП. Heres хороший пример. Текстовая эффект имеет четыре параметра. Я могу получить доступ к этим с помощью встроенных переменных для них. К ним относятся:
- $ENGINE_PAR_BITS
- $ENGINE_PAR_FREQUENCY
- $ENGINE_PAR_NOISELEVEL
- $ENGINE_PAR_NOISECOLOR
Вы будете уведомление, что все они имеют определенный префикс $ ENGINE_PAR_. Эта приставка предназначена для использования только Kontakt, как и NI_ $, $ CONTROL_PAR_, $ EVENT_PAR_. Когда вы приходите к определять свои собственные переменные Вы будете хотеть, чтобы избежать использования этих.
Есть и другие типы, которые содержат информацию о действиях пользователя, как отмечает, что вы играете. Мы видели одну из этих прошлый раз, $ EVENT_NOTE.
Есть слишком много, чтобы покрыть здесь, но вы будете найти список всех построена в константы и переменные в конце Справочное руководство КСП. Сказать, что Ill дать вам пример.
Существует встроенный в переменной $ PLAYED_VOICES_INST. Это справедливо значения, сколько голосов (нот) текущего инструмента играет. Если я пишу это на обратный сведению ...
Я получаю это сообщение.
Вы будете уведомления Ive добавил один переменной как он считает от 0. Амперсанд (
Таким образом, вы будете использовать встроенные переменные, чтобы собрать информацию о том, что вступление в Kontakt
Переменные, определяемые пользователем
Пользовательские переменные определены вами и потому, что Kontakt не знаком с этими переменными (в отличие от встроенной в них) вы будете в первую очередь необходимо объявить их. Объявление переменной должно быть сделано между вашими на инициализации ... конец обратного вызова. Так, что все это значит?
Объявите это способ сказать: Эй Kontakt! Я собираюсь сделать новую переменную, так что слушайте!.
Так давайте попробуем! Я собираюсь сделать нормальную переменной (есть несколько других типов). Они начинаются с $. Любая переменная весьма чувствительны к регистру, так остерегайтесь!
объявлять $ MYVARIABLE
Так вот хорошо, но что же теперь? На данный момент $ MYVARIABLE пустая, как я нету дал ему значения. Так что давайте говорить ...
$ MYVARIABLE: = 2
: = Означает равный. Так что мой код будет выглядеть следующим образом.
объявлять $ MYVARIABLE
$ MYVARIABLE: = 2
Теперь Kontakt знает, что $ MYVARIABLE средств. Я мог бы также написать то же самое в один удар, как это ...
объявлять $ MYVARIABLE: = 2
Где это нормально, в некоторых случаях вы будете увидим, что мы, возможно, придется отделить декларации и присвоения значений на две части.
Так что теперь моя переменная имеет значение я мог напечатать сообщение на заметку события, используя.
Я получаю это сообщение.
Обратите внимание, как я могу использовать $ MYVARIABLE в кавычках и без него отображается как 2. Это потому, что ничего внутри котировок считается простой текст.
Таким образом, еще один пример использования динамического значения. На этот раз Ill заполнить мой $ MYVARIABLE со значением
$ MYVARIABLE: = $ 1 PLAYED_VOICES_INST
$ MYVARIABLE теперь будет удерживать информацию, собранную на $ PLAYED_VOICES_INST и добавить 1. Так что теперь я могу это сделать.
Обратите внимание Ive присваивается значение $ MYVARIABLE внутри обратного вызова к сведению. Это потому, что $ PLAYED_VOICES_INST может только собирать данные ноты, когда внутри функции обратного вызова, которые занимаются информационной записке.
И я получаю это ...
Теперь, Ive только ударил одну ноту так "Вы играете 1 отмечается!" грамматически ерунда! Так что давайте использовать нашу переменную, чтобы сделать эту работу.
Использование если ... Else мы можем узнать, сколько нот играть и показывать соответствующий ответ Thats грамматически правильно.
Так что давайте говорить Если $ MYVARIABLE больше, чем один, выводится сообщение, что выражает множественное число от записку. Если его нет, то напечатать сообщение с помощью особой записке.
Мы ставим $ MYVARIABLE (который теперь содержит количество нот, сыгранных) в скобках, если заявление. Таким образом, он может весить до, если ее больше (
Наш код будет выглядеть следующим образом.
Когда я играю одну ноту я получаю ....
когда я играю более чем одной ноте я получаю ...
Успеха!
Так что, надеюсь, вы можете увидеть, как эта переменная работает. Im повторное его три раза в этом скрипт, который, очевидно, экономит время и размер. Когда вы пишете более сложных сценариях вы можете ссылаться на это в десятки раз и только для присвоения значения сразу.
Переменные значения не должны быть статичными и нет ничего, чтобы остановить вас изменения переменных значение в любое время, на самом деле это довольно распространенное явление. Ill Приведем несколько примеров в последующих уроках.
Типы переменных
До сих пор Weve рассматриваются основные переменные. Есть несколько различных типов переменных в Kontakt каждый со своим собственным префиксом.
- @myText = A String Variable. Holds “Text information”
- const $myVariable = Sets a constant value e.g. 12
- polyphonic $myVariable = Holds a value for each polyphonic event.
- %myArray[
] = Holds multiple values in a list - !myArray[
] = Holds multiple text strings in a list
Ну рассмотрим несколько из них в ближайшие несколько учебников.
В следующий раз хорошо смотреть на некоторые методы интерфейса. Зная о переменных должно сделать процесс создания пользовательских элементов управления намного проще для понимания. До тех пор!
Я включил примеры кода в этой
Быстрые ссылки:
Введение в сценарии в Kontakt, часть 1
Введение в сценарии в Kontakt, часть 2
Введение в сценарии в Kontakt, часть 3
Введение в сценарии в Kontakt, часть 4
Введение в сценарии в Kontakt, часть 5
Discussion
Want to join the discussion?
Create an account or login to get started!