Произвольные перемещения мяча
Лекции.Орг

Поиск:


Произвольные перемещения мяча




В данной модели мячи движутся вертикально, отталкиваясь от поверхности с координатой 0. Это происходит потому, что начальная скорость мячей по координате х равна 0. Если мы изменим начальные скорости мячей по этой координате, сделав их, например, случайными, нам необходимо задать так­же, как мячи будут себя вести при встрече с потолком и вертикальными стенками.

Вернемся снова к экспериментам с одним мячом. Удалите из окна струк­турной диаграммы объекта Root объект ball1, а из окна анимации удалите шар с именем ovall, отображавший движение шара ball1.

Сделаем сначала случайными начальные значения скоростей vx и vy мяча. Активизируйте окно структурной диаграммы активного объекта Ball, выде­лите переменную vx и в поле Начальное значение этой переменной замените значение 0 на значение uniform(-100, 100). Тем самым начальная скорость по координате х у различных экземпляров активного объекта Ball будет вы­бираться случайно из диапазона (—100, +100) метров в секунду как реализа­ция случайной величины, равномерно распределенной в этом диапазоне. То же самое сделайте для переменной vy.

Для учета отталкивания мяча от потолка нужно событие встречи препятст­вия мячом на переходе стейтчарта изменить. Размеры поля, в котором дви­гаются мячи, установлены 500x500 (м). В поле Событие окна свойств пере­хода стейтчарта активного объекта Ball выражение:

у <= r && vy < О

следует дополнить:

у <= r && vy < 0 || у >= 500-r && vy > 0

Действие, которое выполняется и в том, и в другом случае, будет тем же: изменение направления скорости vy с частичной ее потерей.

Для того чтобы учесть отталкивание мяча от вертикальных стен, нужно учесть это событие в стейтчарте введением дополнительного перехода. Сде­лайте ОКНО СТеЙТЧарта аКТИВНЫМ И добавьте К СОСТОЯНИЮ Movement ДОПОЛНИ-

тельный переход, используя иконку панели инструментов. Щелкнув

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

В появившемся справа окне свойств этого перехода в поле Происходит нуж-но выбрать вариант По событию, в поле Событие следует вставить условие наступления события касания мяча о вертикальную стенку:

х <= r && vx < 0 || х >= 500-r && vx> О

а в поле Действие установить действия изменения направления составляю­
щей vx скорости мяча и моментальное изменение цвета мяча при столкно-
вении:                                                                                                                 '

vx=-(1-k)*vx;

tBounce = getTime();

Это изображено на рис. 4.17.

Запустите модель на исполнение. Используя слайдеры, можно изменять ра­диус мяча, коэффициент потери скорости при встрече с препятствием, ус­корение свободного падения, превращая мяч в воздушный шар при д<о или в биллиардный шар при д=о. Построенная вами модель должна соответствовать модели Balls2 папки Part 1.





Дата добавления: 2018-10-15; просмотров: 125 | Нарушение авторских прав | Изречения для студентов


Читайте также:

Рекомендуемый контект:


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



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

Ген: 0.002 с.