Создание скриптов.
Цель: научиться пользоваться скриптами InTouch и библиотекой Symbol Factory.
В данном упражнении необходимо будет с помощью библиотеки Symbol Factory разместить в окне бак и два вентиля. Затем с помощью анимационных функций и скриптов «оживить» полученную картину.
1.Откройте приложение TrainingApp.
2.создайте в нем новое окно с названием Window3
3.Откройте библиотеку стандартных элементов InTouch SymbolFactory
4. Выберите в ней бак в разделе Tanks
5. Поверх бака расположите прямоугольник, нарисованный с помощью графического элемента Rectangle. Таким образом мы получили бак «в разрезе», и теперь сможем наблюдать, что находится у него внутри.
6. Выберите в библиотеке SymbolFactory трубы в разделе 3d-pipes и расположите их в окне следующим образом:
7. В разделе Symbol Factory Valves выберите два вентиле и расположите их на трубах:
8. Под вентилями расположите кнопки, изменив надписи на них на «вкл/выкл»
Создадим анимационные функции для наших объектов:
9.Для прямоугольника: создайте анимационную функцию вертикального заполнения, и свяжите ее с переменной Level типа Memory Integer.
Дважды щелкните по объекту. В открывшемся меню выберите PercentFillVertical.
В поле Expression, открывшегося окна, введите название переменной Level
В поле Value at MaxFill введите 50 (это максимальное значение переменной Level)
В поле Value at MinFill введите 50 (это минимальное значение переменной Level)
В поле Max%Fill введите 100 (таким образом, значению переменной 50 будет соответствовать полное заполнение прямоугольника)
В поле Min%Fill введите 0 (таким образом, значению переменной 0 будет соответствовать пустой прямоугольник)
В поле Background Color выберите цвет, который будет соответствовать пустому баку.
Нажмите ОК. Так как переменная Level еще не определена, то вам будет предложено ее определить. Определите переменную Level,как MemoryInteger.
10. Для вентиля 1.
Создайте анимационную функцию изменения цвета по изменению переменной valve1.
Дважды щелкните по объекту. В открывшемся меню выберите FillColor Discrete
В поле Expression введите Valve1
В поле Colors выберите зеленый цвет для True (вентиль открыт) и серый цвет для False (задвижка закрыта)
Нажмите ОК. Так как переменная Valve1 еще не определена, то вам будет предложено ее определить. Определите переменную Valve1 как Memory Discrete.
11. Проделайте аналогичные действия для второго вентиля, используя переменную Valve2
Создание скриптов:
12. Для кнопок (на примере кнопки, расположенной под первым вентилем).
Создайте скрипт «по нажатию» (on key down) , изменяющий значение переменной valve1 на противоположное.
Щелкните дважды по объекту. В открывшемся меню выберите Touch PushbuttonsAction
В открывшемся окне создайте следующий скрипт:
Проделайте аналогичные действия для второй кнопки, использую переменную valve2.
13. Создайте скрипт «по условию» если вентиль1 открыт, то бак наполняется:
В окне ApplicationExplorer выберите ScriptsCondition.
Создайте следующий скрипт:
Condition- valve1= 1 (условие по которму начинает работать скрипт)
Condition Type- While True (выполняется пока это условие правда), каждые 1000мс
14. Создайте скрипт «по условию» если открыт второй вентиль, то вода из бака убывает.
15. В InTouch имеется набор стандартных функций, самых разных типов текстовых, математических, системных (таких как, запустить приложение. Копировать файл и т.д.) Ознакомиться с полным списком функций можно нажав кнопку All поля Function в окне редактирования скрипта
Например, создадим кнопку по нажатию на которую будет запускаться программа Калькулятор.
Для этого поместите на экран кнопку и измените ее название на калькулятор
Щелкните дважды по кнопке и в открывшемся меню выберите TouchPushbuttonsAction. При этом откроется окно редактирования скрипта «по нажатию». Нажмите на кнопку поля Function System и в открывшемся окне выберите функцию StartApp
После чего снова откроется окно редактирования скрипта, в котором вам необходимо написать следующее:
16. Создадим счетчик, который пока открыто окно будет каждые 5 секунд увеличивать свое значение.
Щелкните правой кнопкой мыши по названию окна Window3 в окне Application Explorer. При этом откроется меню, в котором вам необходимо выбрать WindowScripts…
При этом откроется окно редактирования скрипта окна, в котором необходимо написать следующее:
Это скрипт окна, который выполняется пока оно показывается (while showing), каждые 5000мсек.
Поскольку переменная count еще не определена, вам будет предложено ее определить. Определите ее как memory integer.
Нам необходимо сделать, чтоб счетчик, когда окно открывается обнулялся. Для этого выберите в поле скрипта Condition type тип OnShow
И создайте еще один скрипт, который будет выполнятся при открытии окна:
Теперь разместите в окне символ #
Щелкните по нему дважды и в открывшемся меню выберите value displayanalog
В открывшемся окне в поле expression введите Count
Нажмите OK.
17. Проверьте как работает приложение.
Вентили должны открываться или закрываться при нажатии на кнопку под ними
( в зависимости от предыдущего положения). При этом уровень в баке растет, если открыт верхний вентиль, и уменьшается если открыт нижний вентиль.
По нажатию на кнопку «калькулятор» должна запускаться соответствующая программа.
Значение счетчика должно изменяться каждые 5 секунд.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.