Сложное мигание со скриптами

<< Click to Display Table of Contents >>

Навигация  Примеры > Мигание объекта >

Сложное мигание со скриптами

Previous pageReturn to chapter overviewNext page

Предположим, у нас в проекте есть множество однотипных объектов Мотор, у каждого из которых есть несколько параметров State и Speed, и в зависимости от их значений мы хотим, чтобы объекты (Мотор) мигали/не мигали на экране. Так как в данном случае есть зависимость Мигания от нескольких тегов,  необходимо использовать скрипты. И так как у нас в проекте предусмотрено несколько однотипных объектов, удобнее использовать косвенные имена для привязки тегов к объекту.

1. Для начала создадим для каждого объекта  теги - State и Speed (для наглядности оформим в виде группы):

 

clip0038

 

 

2. В данном случае нам нужны промежуточные теги для включения или отключения мигания объекта. - Flash1, Flash2 и Flash3, создадим их :

 

flashtags

 

3. Создадим для нашего примера графический объект Мотор:

 

motorexample

 

В свойствах объекта в закладке "Основное" создадим пользовательсткое свойство Number и присвоим ему значение "1", т.к. мы будем привязывать данный объект к тегу Flash1:

 

motorpropertieswindow

complexudp

 

4. Закроем окно "Коллекции" и нажмем "ОК" в Окне свойств объекта, чтобы сохранить изменения. Теперь снова откроем Свойства объекта и настроим свойство Мигание: привяжем тег путем указания косвенного имени:  Flash{Number}:

 

flashproperty

flashchoosetag

 

5. В зависимости от значений тегов для каждого объекта Мотор будем использовать частоту:

 

State

Speed

Частота мигание

0

Любая

Не мигает

1

0...500

1000

1

500...1000

500

1

>1000

250

 

6. Создадим скрипт для объекта на языке ST с типом выполнения - OnDataChange:

 

stscriptforcomplexscript

Напишем скрипт:

 

flashscript

После того как записали скрипт обязательно запустим его путем нажатия кнопки на панели инструментов: clip0048

 

7. Теперь привяжем скрипт к объекту - откроем свойства объекта, выберем вкладку "Основное" и в поле "Скрипты" заполним "Коллекцию":

 

clip0031

stcollection

 

Итак, у нас есть Мотор с настройкой свойства мигания по скрипту.

8. Теперь нам нужно продублировать созданный объект Мотор столько раз, сколько нужно в проекте, и в каждом вновь созданном объекте исправить значение пользовательского свойства Number ((быстрее всего - на Листе свойств):

 

complexduplicate2

 

complexpropertysheet

 

9. Запустим имитацию, чтобы проверить настройки:

 

complexmulflash1

 

Вы можете скачать проект из примера здесь.