Довольно часто в компьютерных играх требуется, чтобы предмет непрерывно двигался в замкнутом поле, отскакивая от его границ. Рассмотрим решение такой задачи. Пусть замкнутым полем будет экран компьютера, а двигаться будет картинка. Направление движения задаётся знаком приращения координаты:
если приращение по горизонтали dx положительное, то картинка движется вправо;
если отрицательное, то картинка движется влево.
Аналогично по вертикали.
Необходимо постоянно оценивать положение картинки: достигла она границы экрана или нет. Если на границе — то нужно изменить направление движения на противоположное. Если нет — то менять не нужно. И такую проверку нужно проводить для четырёх границ: правой, нижней, левой и верхней.
Задание 6
Доработайте скрипт с движущейся картинкой (практическое занятие) так, чтобы при достижении края экрана картинка “отскакивала” от него.
Проанализируем задание. Для того, чтобы получить размеры экрана воспользуйтесь свойствами screen.width и screen.height объекта window, которые описаны ранее в пособии. Таким образом, в нашем распоряжении имеются координаты четырёх границ: две по горизонтали и две по вертикали. Теперь остаётся менять знак приращения на противоположный в случае, когда текущие координаты
Справа приведена схема алгоритма. Этот алгоритм, конечно, должен быть встроен в имеющуюся программу с движущейся картинкой.
Задание 7
Поставьте на страницу кнопку “Изменить страницу”, при нажатии на которую появляется окно подтверждения confirm, которое предлагает изменить цвет текста. Если пользователь нажал кнопку “Ok”, то цвет текста меняется, если кнопку “Отмена” — то предлагается увеличить размер шрифта. Если пользователь опять отказался, то предлагается изменить фон. Если пользователь отклонил и это предложение, то выдаётся сообщение, что страница не изменилась.