마지막으로 우리는 만약에 ... 다른 사용하여 일부 진술을 검토 한 결과, ()를 선택합니다. 지금은 우리가 무언가 특정이 재생되는 메모처럼, 무슨 일이 있었 스크립트를 실행하는 데 도움이. 기억하면 우리는 우리가 트리거 (또는 해제 - 바이 패스)의 MIDI 키보드에서 노트를 누르면 일부 내부 효과를 알려 스크립트를 만들었습니다.
이 부분은 단순히 매개 변수에 대한 참조했습니다 몇 가지 변수에 내장 된, 즉 $ ENGINE_PAR_EFFECT_BYPASS를 사용하여 효과의 우회 제어를 대상으로 이루어졌다. 이 부분에서 깊은 변수로, 내장 및 사용자 모두 정의 탐구하려고 했어요.
변수는 무엇인가?
모든 스크립트 언어에서 가장 중요한 것은 의심하고 더 세부 사항에 대해 설명하지 않고이 공장의 나머지 부분을 진행하는 매우 어려운 것없이 변수입니다.
변수는 정보의 조각을 가지고 저장 장치입니다. 어떤 시점에서 그 변수 이름을 참조하여 정보의 부분을 참조 할 수 있습니다. 바로 가기처럼 생각.
당신은 이름, 번호 또는 개체와 같은 정보의 정적 (상수) 조각으로 변수를 입력 할 수 있습니다. 또는 당신은 다른 일에 통과 할 수있는 변화 매개 변수의 현재 값과 같은 동적 뭔가를 입력 할 수 있습니다.
변수의 두 가지 주요 유형이 있습니다. 내장 및 사용자 정의. 할 수는 봐!
내장 변수
Kontakt 스크립트 언어는 많은 언어로 작성된 변수에 내장하고 있습니다. 이는 주로 Kontakt 엔진의 접근이 매개 변수에 대한 참조이며, 즉 일 당신은 KSP를 조작 할 수있다. 좋은 예를 Heres. 소호-Fi 접속 설비 효과는 네 가지 매개 변수가 있습니다. 나는 그들에게 변수에 내장을 사용하여 이러한 액세스 할 수 있습니다. 이는 다음과 같습니다
- $ENGINE_PAR_BITS
- $ENGINE_PAR_FREQUENCY
- $ENGINE_PAR_NOISELEVEL
- $ENGINE_PAR_NOISECOLOR
이 모든 $ ENGINE_PAR_의 특정 접두사를 사용하는 Youll는 통지. 이 접두사는 Kontakt 사용을 위해 예약되어 만 달러 NI_, $ CONTROL_PAR_, $ EVENT_PAR_ 있습니다. 자신의 변수를 정의하기 위해 올 때 이것들을 사용 놀지하려면 youll.
네가하는 짓은 어떤 정보 같은 사용자 동작에 대한 정보를 보유 다른 유형이 있습니다. 우리는이 마지막으로 하나, $ EVENT_NOTE을 보았다.
가 지금까지 여기에 충당 할 너무 많은이지만, youll KSP 참조 설명서의 끝 부분에 상수와 변수에 지어진 모든 목록을 찾으십시오. 하는 병에게 예를 들어 달라는.
PLAYED_VOICES_INST $라는 내장 변수가 있습니다. 이것은 현재 악기가 재생 얼마나 많은 목소리 (노트)의 가치를 보유하고 있습니다. 이 일에주의 콜백을 작성하면 ...
이 메시지가 나타납니다.
가 0에서 계산으로 Youll 통지 필자는 변수에 하나를 추가했다. 앰퍼샌드 (
그래서 youll Kontakt으로 들어오고 있는지에 대한 정보를 수집하는 변수 내장 사용
사용자 정의 변수
사용자 변수는에 의해 정의 및 Kontakt은 (내장 된 것들과는 달리) 먼저 선언 할 필요가 youll이 변수에 익숙하지 않기 때문에입니다. 변수를 선언하면 초기화에 사이에 처리 할 수 있습니다 ... 콜백에 끝을. 그러니까 모든이 뭐죠?
신고 말의 방법이며, Kontakt 야! 새로운 변수를 만들려고 메신저, 그래서 잘 들어!.
그러니 할 수 있습니다! 임은 (몇 가지 다른 종류가 있습니다) 일반 변수를 만들려고. 이러한 $가 앞에 있습니다. 모든 변수는 매우 민감한 경우가 있으므로주의입니다!
myVariable $를 선언
정말 잘하지만 지금은 됐죠? 현재 myVariable $는 내가 그것을 값을 주어진 havent으로 비어 있습니다. 그렇게 말을 할 수 ...
myVariable $ : = 2
: = 동일 의미합니다. 그래서 내 코드는 다음과 같이 표시됩니다.
myVariable $를 선언
myVariable $ : = 2
지금 Kontakt 무엇 $ myVariable 방법을 알고 있습니다. 나는 또한 같은 히트에서 같은 일을 작성할 수 ...
myVariable $를 선언 : = 2
이 어떤 상황에서 OK 어디에 우리가 두 부분으로 값의 선언과 할당을 분리해야 할 수도 나중에 youll.
이제 내 변수는 I을 사용하여 메모 이벤트에 대한 메시지를 인쇄 할 수있는 값이 있습니다.
이 메시지가 나타납니다.
내가 2로 표시하지 않고 인용 부호 안에 $ myVariable을 사용하는 방법을 확인합니다. 견적 내부 아무 일반 텍스트로 간주됩니다 때문입니다.
따라서 동적 값을 사용하여 하나의 예. 이번에는 불길한 값으로 내 $ myVariable을 작성
PLAYED_VOICES_INST 1 = $ : myVariable $
myVariable $는 현재 $ PLAYED_VOICES_INST에서 수집 한 정보를 보유하고 1을 추가합니다. 이제이 할 수 있어요.
공지 사항이에 노트 콜백 내부 $ myVariable로 값을 할당 필자. $ PLAYED_VOICES_INST 만 참고 데이터를 수집 할 수 없기 때문입니다 때 참고 정보로 거래 내부 콜백.
그리고 이건 ..
이제, 하나의 메모를 누르 필자 "당신은 한 메모를 재생하는!" 문법적으로 터무니없는 소리입니다! 그러니이 일을하는 데 도움하기 위해 변수를 사용하여 보자.
우리가 게임을 얼마나 많은 정보를 알아보고, 관련 응답을 표시 할 수 있다면 ... else 문을 사용하면 문법적으로 올바른 이잖아.
따라서 $ myVariable 하나보다 크면라고 할 수 있습니다, 메모의 복수를 표현하는 메시지를 인쇄 할 수 있습니다. 그 후 메모의 단수를 사용하여 메시지를 인쇄합니다.
우리는 if 문을 괄호 안에 (현재 재생 노트의 수를 보유하고있는) myVariable 달러를 넣어. 그 큰 경우 방법은 최대 무게 (
우리의 코드는 다음과 같이됩니다.
내가 한 내가 얻을 수 있습니다 재생할 때 ....
나는 하나 이상의 메모를 재생할 때 전 ...
성공!
그래서 희망이 변수가 제대로 작동하는지 확인할 수 있습니다. 임 그것을 분명히 시간과 크기를 저장이 스크립트에 세 번 재사용. 당신은 더 복잡한 스크립트를 작성하면 번이 수십을 참조하고 한 번만 값을 지정해야 할 수도 있습니다.
변수 값이 정적 일 필요가 없습니다 당신이 언제든지 변수 값을 변경 중지 할 게 없다, 사실이 매우 일반적입니다. 병 나중에 튜토리얼에서 몇 가지 예제를 제공합니다.
변수 유형
기본 변수 처리까지되어 있으니. 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에서 스크립팅 소개, 제 3 부
Kontakt에서 스크립팅 소개, 제 4 부
Kontakt에서 스크립팅 소개, 제 5 부
Discussion
Want to join the discussion?
Create an account or login to get started!