Мегаобучалка Главная | О нас | Обратная связь


Мультфильм «Человечек»



2015-11-11 478 Обсуждений (0)
Мультфильм «Человечек» 0.00 из 5.00 0 оценок




Сейчас мы с вами создадим простейший мультфильм, в котором человечек шагает среди египетских пирамид (Рис. 13.12).

Рис. 13.12

Когда мы снимаем видеокамерой идущего человека, то на разных кадрах у него разное положение ног. Все остальные части тела более-менее неподвижны. Значит, если мы будем достаточно быстро менять в поле зрения кадры с разным положением ног, то создастся иллюзия ходьбы. В нашем случае для создания приемлемой иллюзии нам достаточно смены трех кадров (см. Рис. 13.13).

 

Рис. 13.13

Зайдите в графический редактор Paint или какой-нибудь другой и на белом фоне нарисуйте первый кадр примерно так же, как вы рисовали летающую тарелку. Вы можете сделать человечка гораздо красивее и подробнее, чем это сделал я. Если вы отлично работаете в солидном графическом редакторе, то можете даже взять фотографию вашего знакомого, только не забудьте выкрасить белой краской все, что выходит за контуры его фигуры. Сохраните человечка под именем Кадр1. Теперь, не стирая человечка, измените ему положение ног и сохранитесь как Кадр2 (не Save, а Save as…). Аналогично создайте и сохраните Кадр3. У вас получилось три файла.

Теперь создайте проект в VB. Придайте форме картинку пирамид или чего-нибудь другого подходящего, например, улицы. Поместите на форму объект PictureBox. Создайте в коде из упомянутых 3 кадров 3 объекта Bitmap. Наша идея – придавать объекту PictureBox по очереди с достаточной скоростью картинки из этих 3 объектов. Тогда мы увидим, что человечек в PictureBox передвигает на месте ногами. Менять кадры нужно в такой последовательности: 1-2-3-2-1-2-3-2-1-2-3-2-1-2-…. Если при этом объект PictureBox будет еще и двигаться налево по форме, то и получится ходьба.

Давайте-ка для лучшего понимания мысленно разобьем эту последовательность на одинаковые участки: 1-2-3-2----1-2-3-2-----1-2-3-2- …. Длина участка получилась равной 4. Поместите на форму таймер и придайте ему интервал 100 (потом, если движение будет слишком быстрым или медленным, вы его измените). Наша задача – сделать так, чтобы при каждом выполнении процедуры таймера мы видели следующий очередной кадр из приведенной мной последовательности. Для этого я организовал переменную N и заставил ее пробегать значения 0-1-2-3-----0-1-2-3-----0-1-2-….Не путайте эту последовательность с предыдущей. Как видите, длину участка на ней я подобрал тоже равной 4. Вот программа:

Dim Кадр1 As New Bitmap("Кадр1.png")

Dim Кадр2 As New Bitmap("Кадр2.png")

Dim Кадр3 As New Bitmap("Кадр3.png")

Dim N As Integer = 0

 

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Me.BackgroundImage = Image.FromFile("Пирамиды.jpg")

Кадр1.MakeTransparent(Color.White)

Кадр2.MakeTransparent(Color.White)

Кадр3.MakeTransparent(Color.White)

PictureBox1.BorderStyle = BorderStyle.None

PictureBox1.BackColor = Color.Transparent

PictureBox1.SizeMode = PictureBoxSizeMode.AutoSize

End Sub

 

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

Select Case N

Case 0 : PictureBox1.Image = Кадр1

Case 1 : PictureBox1.Image = Кадр2

Case 2 : PictureBox1.Image = Кадр3

Case 3 : PictureBox1.Image = Кадр2

End Select

N = N + 1 'Увеличиваем N на 1

If N = 4 Then N = 0 'После 3 должен идти 0, а не 4

PictureBox1.Left = PictureBox1.Left - 10

End Sub

Пару операторов

N = N + 1 'Увеличиваем N на 1

If N = 4 Then N = 0 'После 3 должен идти 0, а не 4

можно заменить одним изящным оператором

N = (N + 1) Mod 4

 

Задание 93.

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

Задание 94.

«Улыбка». Для тех, кто умеет рисовать. Попросите у своей знакомой ее фотографию, где она снята с серьезным выражением лица. Введите фото в компьютер. Сделайте в Paint, а лучше в PhotoShop еще два-три кадра этого фото, аккуратно понемножку приподнимая уголки губ на изображении. Подумайте, в какой последовательности нужно показывать кадры, чтобы улыбка постепенно возникала и исчезала.



2015-11-11 478 Обсуждений (0)
Мультфильм «Человечек» 0.00 из 5.00 0 оценок









Обсуждение в статье: Мультфильм «Человечек»

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2020 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (478)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)