Kniga-Online.club
» » » » Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория»

Читать бесплатно Интернет-журнал "Домашняя лаборатория", 2008 №7 - Журнал «Домашняя лаборатория». Жанр: Газеты и журналы / Периодические издания / Сделай сам / Хобби и ремесла год 2004. Так же читаем полные версии (весь текст) онлайн без регистрации и SMS на сайте kniga-online.club или прочесть краткое содержание, предисловие (аннотацию), описание и ознакомиться с отзывами (комментариями) о произведении.
Перейти на страницу:
радиус окружности

Dim у As Integer

Dim R As Integer

Dim Цвет_окружности As Long

Dim Цвет фона As Long

Private Sub Form Load()

х = 1000

у = 1500

R = 200

DrawWidth = 5 'Толщина линии

Цвет_окружности = vbBlack

Цвет_фона = BackColor

End Sub

Private Sub Timer1_Timer()

Circle (x, y), R, Цвет_окружности 'Рисуем окружность

For i = 1 To 500000: Next 'Пустой цикл для задания паузы

Circle (х, у), R, Цвет_фона 'Стираем окружность

х = х + 30 'Перемещаемся немного направо

End Sub

Пояснения: Когда вы попробуете выполнить эту программу на компьютере, изображение движущейся окружности может получиться некачественным — окружность в процессе движения будет мерцать и пульсировать. Это связано с разверткой электронно-лучевой трубки вашего монитора. Если создать маленькую паузу между рисованием и стиранием окружности, нежелательные эффекты сойдут на нет. Эту паузу я создаю пустым циклом. Поэкспериментируйте с радиусом, толщиной окружности, продолжительностью паузы или шагом движения по горизонтали. Последние две величины определяют скорость движения.

Задание 100: Пусть по экрану движется "вагон" — прямоугольник и два колеса.

Движем объекты

Мы больше не будем заниматься анимацией при помощи графических методов, потому что объекты двигать гораздо приятнее.

Поместим на форму объект Shape в виде той же окружности и таймер. Пусть окружность движется вверх. Программа:

Private Sub Timer1_Timer()

    Shape1.Top = Shape1.Top — 20

End Sub

Как видите, она гораздо проще, чем программа анимации при помощи методов.

Задание 101: Пусть одновременно движутся две окружности. Таймер — один.

Задание 102: Одна вниз, другая направо.

Задание 103: Покажите своим друзьям фильм, снятый "секретной видеокамерой": В небе над вашим домом летит летающая тарелка. Для этого вам понадобится ввести в компьютер фотографию, на которой были бы видны ваш дом и небо. Роль летающей тарелки с успехом выполнит фигура эллипса с заливкой. Можете сделать ей окна (фигуры окружностей с желтой заливкой). Все эти фигуры должны лететь с одинаковой скоростью, не то окна "уплывут" с тарелки.

Заставим какую-нибудь фигуру двигаться направо, а затем самостоятельно отскочить от правого края формы:

Dim Шаг As Integer

Dim х As Integer

Private Sub Form_Load()

    x = Shape1.Left

    Шаг = 50

End Sub

Private Sub Timer1_Timer()

    x = x + Шаг

    Shapel.Left = x

    If x > Width Then Шаг = -50 'Если фигура улетела за правый край формы, то лететь обратно

End Sub

Задание 104: Заставьте фигуру бесконечно двигаться, отскакивая от правого и левого краев формы.

Задание 105: "Биллиардный шар". Нарисуйте «биллиардный стол» — большой прямоугольник. Шар под углом летает по столу, отскакивая от его краев по закону отражения. Попав "в лузу" (любой из четырех углов стола), останавливается. Объектом здесь удобно взять Image с загруженной иконкой в виде шарика (подходящие иконки есть в Visual Basic).

Задание 105-1(сложное): "Часы со стрелками". Если вы в ладах с тригонометрией, сделайте часы со стрелками: часовой, минутной, секундной. Задача упростится, если вы выберете в качестве стрелок тоненькие сектора окружностей.

Задание 106: Изобразите полет камня, брошенного с башни, для задания 45 из 0. Напоминаю условие задания. Камень бросили горизонтально со 100-метровой башни со скоростью v=20m/c. Его расстояние от башни по горизонтали (s) выражается формулой s=v*t, где t — время полета камня в секундах. Высота над землей h выражается формулой h=100 — 9.81*t2/2. Нарисуйте башню, Землю. Камнем может служить Image с подходящей загруженной иконкой. Затем камень летит. Добейтесь, чтобы время полета камня на экране примерно соответствовало реальному времени, полученному при решении задания 45. Нарисуйте траекторию полета камня. Для этого достаточно, чтобы камень оставлял за собой следы в виде точек.

Указание: В задаче говорится о метрах, а на экране расстояние измеряется в твипах. Поэтому вам придется задать масштаб, то есть вообразить, что один твип равен, скажем, одному метру. Тогда высота башни будет равна 100 твипов, а скорость камня — 20 твипов в секунду Правда, картинка на экране в этом случае будет слишком маленькой. Тогда можете задать другой масштаб — 1 метр равен, скажем, 40 твипам. Тогда высота башни будет равна 4000 твипам, а формулы изменятся: s = 40*v*t и h=40*(100 — 9.81*t2/2).

Задание 107 (сложное): Сделайте игру: Пушка на экране стреляет в цель ядрами. С какого выстрела она поразит противника? Между пушкой и целью расположена небольшая гора. Перед началом игры случайно задается горизонтальная координата цели. Затем рисуется картинка.

Перед каждым выстрелом компьютер отображает в текстовом поле номер выстрела и запрашивает у человека стартовую скорость ядра v и угол а наклона ствола пушки к земле. Затем летит ядро. Полет ядра подчиняется двум уравнениям: s=v*t*cosa и h=v*t*sina — 9.81*t2/2 (см. предыдущее задание). Считается, что цель поражена, если ядро ее коснулось, не коснувшись горы. Указание: Вы можете запрограммировать автоматическое определение попадания в цель. Для этого нужно в момент, когда ядро при падении пересекло уровень земли, сравнить горизонтальные координаты ядра и цели. Если они достаточно близки, то фиксируйте попадание. Определение прикосновения к горе — более хлопотное занятие, но идея та же.

"Движем" свойства объектов

Сделаем рекламный ролик: Из черной глубины экрана на нас наплывают, увеличиваясь, красные слова "Съешьте Марс!"

Покрасим форму. Поместим на форму метку и сделаем ее большой и прозрачной. Придадим ее свойству Caption значение нужного текста. Сменим название шрифта на "Times" или какой-нибудь другой красивый, настроим стиль и цвет шрифта. Программа:

Private Sub Timer1_Timer()

    Label1.FontSize = Label1.FontSize + 1

End Sub

Задание 108: Пусть текст также непрерывно меняет цвет.

Пусть теперь на нас надвигается, увеличиваясь в размерах, фото. Для этого придадим это фото объекту Image. Установив в True его свойство Strech, будем увеличивать размеры объекта, стараясь сохранять его пропорции:

Private Sub Timer1_Timer()

   Image1.Width = Image1.Width + 10

   Image1.Height = Image1.Height + 7

End Sub

Таким образом можно оживлять объект, меняя любое его свойство, имеющее численное значение.

Мультфильм

Когда мы снимаем видеокамерой идущего человека, то на разных кадрах у него разное положение ног. Когда мультипликаторы на студии создают мультик с идущим

Перейти на страницу:

Журнал «Домашняя лаборатория» читать все книги автора по порядку

Журнал «Домашняя лаборатория» - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки kniga-online.club.


Интернет-журнал "Домашняя лаборатория", 2008 №7 отзывы

Отзывы читателей о книге Интернет-журнал "Домашняя лаборатория", 2008 №7, автор: Журнал «Домашняя лаборатория». Читайте комментарии и мнения людей о произведении.


Уважаемые читатели и просто посетители нашей библиотеки! Просим Вас придерживаться определенных правил при комментировании литературных произведений.

  • 1. Просьба отказаться от дискриминационных высказываний. Мы защищаем право наших читателей свободно выражать свою точку зрения. Вместе с тем мы не терпим агрессии. На сайте запрещено оставлять комментарий, который содержит унизительные высказывания или призывы к насилию по отношению к отдельным лицам или группам людей на основании их расы, этнического происхождения, вероисповедания, недееспособности, пола, возраста, статуса ветерана, касты или сексуальной ориентации.
  • 2. Просьба отказаться от оскорблений, угроз и запугиваний.
  • 3. Просьба отказаться от нецензурной лексики.
  • 4. Просьба вести себя максимально корректно как по отношению к авторам, так и по отношению к другим читателям и их комментариям.

Надеемся на Ваше понимание и благоразумие. С уважением, администратор kniga-online.


Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*