Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемИнна Максютова
1 К. Поляков, Программирование на алгоритмическом языке Тема 8. Анимация
2 Программирование на алгоритмическом языке К. Поляков, Анимация 2 Анимация (англ. animation) – оживление изображения на экране. Задача: внутри синего квадрата 200 на 200 пикселей слева направо двигается желтый квадрат 20 на 20 пикселей. Программа останавливается, если нажата клавиша Esc или квадрат дошел до границы синей области. Проблема: как изобразить перемещение объекта на экране? Привязка: состояние объекта задается координатами (x,y) Принцип анимации: 1.рисуем объект в точке (x,y) 2.задержка на несколько миллисекунд 3.стираем объект 4.изменяем координаты (x,y) 5.переходим к шагу 1
3 Программирование на алгоритмическом языке К. Поляков, Процедура (рисование и стирание) 3 алг Фигура(цел x, y, лит цвет) нач кисть(цвет) прямоугольник(x,y,x+20,y+20) кон алг Фигура(цел x, y, лит цвет) нач кисть(цвет) прямоугольник(x,y,x+20,y+20) кон (x, y) (x+20, y+20) одна процедура рисует и стирает стереть = рисовать цветом фона границу квадрата отключить рисуем: цвет кисти – желтый стираем: цвет кисти – синий рисуем: цвет кисти – желтый стираем: цвет кисти – синий
4 Программирование на алгоритмическом языке К. Поляков, Полная программа 4 использовать Рисователь алг Анимация нач цел x, y | текущие координаты кисть("синий") перо(1, "") | отключить контур прямоугольник(0, 0, 200, 200) | синий фон x:= 0; y:= 100 | начальные координаты кон использовать Рисователь алг Анимация нач цел x, y | текущие координаты кисть("синий") перо(1, "") | отключить контур прямоугольник(0, 0, 200, 200) | синий фон x:= 0; y:= 100 | начальные координаты кон алг Фигура(цел x, y, лит цвет) нач... кон алг Фигура(цел x, y, лит цвет) нач... кон нц пока x < 180 Фигура(x, y, "желтый") delay(50) Фигура(x, y, "синий") x:= x + 5 кц пока не дошли до границы
5 Программирование на алгоритмическом языке К. Поляков, Задания 5 «3»: Квадрат двигается справа налево: «4»: Два квадрата двигаются в противоположных направлениях:
6 Программирование на алгоритмическом языке К. Поляков, Задания 6 «5»: Два квадрата двигаются в противоположных направлениях и отталкиваются от стенок синего квадрата:
7 Программирование на алгоритмическом языке К. Поляков, Управление клавишами 7 Задача: жёлтый квадрат внутри синего квадрата управляется клавишами-стрелками. Коды клавиш: влево – вверх – вправо – вниз – Проблема: как изменять направление движения? Решение: c:= клав выбор при c = : x:= x – 5 | влево при c = : y:= y – 5 | вверх при c = : x:= x + 5 | вправо при c = : y:= y + 5 | вниз все c:= клав выбор при c = : x:= x – 5 | влево при c = : y:= y – 5 | вверх при c = : x:= x + 5 | вправо при c = : y:= y + 5 | вниз все ждать нажатия на клавишу, записать ее код в переменную c Когда стирать фигуру? ?
8 Программирование на алгоритмическом языке К. Поляков, Программа 8 использовать Рисователь алг Управление клавишами нач цел x, y, c | нарисовать синий квадрат x:= 100; y:= 100 | начальная точка нц пока x < 180 Фигура(x, y,"желтый") | рисуем фигуру c:= клав | ждем нажатия клавиши Фигура(x, y,"синий") | стираем фигуру выбор при c = : x:= x - 5 при c = : y:= y - 5 при c = : x:= x + 5 при c = : y:= y + 5 все кц кон использовать Рисователь алг Управление клавишами нач цел x, y, c | нарисовать синий квадрат x:= 100; y:= 100 | начальная точка нц пока x < 180 Фигура(x, y,"желтый") | рисуем фигуру c:= клав | ждем нажатия клавиши Фигура(x, y,"синий") | стираем фигуру выбор при c = : x:= x - 5 при c = : y:= y - 5 при c = : x:= x + 5 при c = : y:= y + 5 все кц кон
9 Программирование на алгоритмическом языке К. Поляков, Задания 9 «3»: Квадрат в самом начале стоит в правом нижнем углу, и двигается при нажатии стрелок только вверх или влево: «4»: Квадрат двигается при нажатии стрелок, однако не может выйти за границы синего квадрата:
10 Программирование на алгоритмическом языке К. Поляков, Задания 10 «5»: Квадрат непрерывно двигается, при нажатии стрелок меняет направление и отталкивается от стенок синего квадрата:
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.