Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Изменение цвета мяча в анимации при отскоке




Для большей наглядности дополним анимационное представление поведе­ния мяча так, чтобы при отскоке мяча его цвет на мгновение изменялся на красный. Для этого нужно зафиксировать момент отскока (запомнить зна­чение момента времени наступления этого события) и установить красным цвет шара в анимации на небольшой интервал времени, следующий за этим моментом.

Введите сначала переменную tBounce, которая будет фиксировать момент отскока. Для этого сделайте активным окно структуры активного объекта

Ball и перенесите внутрь ограничивающего прямоугольника иконку   (Переменная), щелкнув левой кнопкой мыши сначала по этой иконке на инструментальной панели, а потом в окне. В поле Имя открывшегося окна свойств этой переменной введите tBounce, а в поле Начальное значение вве­дите -1 (рис. 4.10).

Для того чтобы переменная tBounce фиксировала момент отскока, нужно значение текущего времени в модели при наступлении события "отскок" запомить в этой переменной. За наступлением данного события следит


стейтчарт, поэтому сделайте активным окно стейтчарта (рис. 4.11), в нем выберите переход и в поле Действие [перехода] добавьте действие:

tBounce = getTime();

При каждом вызове функция getTime дает текущее значение модельного времени.


Переменная tBounce имеет начальное значение -1 и при работе модели хранит значение момента времени последнего отскока. Для того чтобы каж­дый раз при отскоке мяча его цвет изменялся на красный (скажем, в тече­ние 0.1 с), нужно установить в поле Цвет заливки графического изображе­ния мяча в окне анимации динамическое значение цвета (рис. 4.12):

getTime () < ball.tBounce+0.1? Color.red: Color.blue

Это условное выражение устанавливает цвет заливки изображения мяча ball красным в течение 0.1 с после каждого отскока.

Введение второго мяча в модель

Введите в модель второй мяч. Для этого сделайте активным окно структур­ной диаграммы Root и перенесите в него еще один экземпляр мяча, щелк­нув левой кнопкой мыши сначала по имени Ball в окне проекта, а потом в окне структурной диаграммы Root. Появившийся объект автоматически по­лучит имя ball1 (рис. 4.13). При этом справа откроется окно свойств выде­ленного объекта (нового экземпляра мяча), в котором установлены те значе­ния параметров мяча, которые были определены для активного объекта Ball.

Установите начальные значения х0 и у0 координат х и у нового мяча рав­ными 200 и 300 (рис. 4.14).

Чтобы движение нового мяча отобразить в анимации, в окне анимации про­дублируйте изображение мяча. Для чего нажмите левой кнопкой мыши на изображении мяча и при нажатой клавише <Ctrl> перенесите это изображе­ние в другое место поля анимации. Для нового изображения круга в правой части окна редактора появится окно свойств, в котором динамические зна­чения параметров (координат и цвета) связаны с характеристиками шара ball1.





 


Их нужно связать с новым объектом — шаром с именем ball1 Иными сло­вами, вместо ball.x, ball.у и bail.tBounce в соответствующих полях нуж­но поставить bell1.х, ball1.y и ball1.tBounce (рис. 4.15). Точно также на вкладке Овал этого окна для значения радиусов Радиус 1 и Радиус 2 нужно установить ball1.r вместо ball.r.

Запустите модель. В модели теперь будут имитироваться независимые дви­жения двух шаров. Построенная вами модель должна соответствовать моде­ли Balls1 папки Part I.





Поделиться с друзьями:


Дата добавления: 2018-10-15; Мы поможем в написании ваших работ!; просмотров: 458 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Есть только один способ избежать критики: ничего не делайте, ничего не говорите и будьте никем. © Аристотель
==> читать все изречения...

2183 - | 2133 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.