Примеры программ на движение - Объектно-ориентированное, визуальное программирование в Delphi на уроках
Первая программа - движение слева направо
Просмотрите код Unit1.pas для нашего примера:
Unit Unit1;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, Buttons;
Type
TForm1 = class(TForm)
Timer1: TTimer; { таймер }
Shape1: TShape; { первое }
Shape2: TShape; { колесо }
Shape3: TShape; { второе }
Shape4: TShape; { колесо }
Shape5: TShape; { прямоугольник }
BitBtn1: TBitBtn; { кнопка с цветным текстом,}
{ находится в закладке Additional}
Procedure BitBtn1Click(Sender: TObject);
Procedure Timer1Timer(Sender: TObject);
Private
{ Private declarations }
Public
{ Public declarations }
End;
Var
Form1: TForm1;
Implementation
{$R *.dfm}
// Таймер активен, следовательно, через каждые
// 100 миллисекунд будет происходить вызов процедуры // Timer1Timer
Procedure TForm1.BitBtn1Click(Sender: TObject);
Begin
Timer1.Enabled := true;
End;
// Ориентируемся по Shape, у которого самая
// правая граница.
// В нашем примере это Shape3.
// Правая граница Shape3 = левый отступ + длина
// шейп, т. е. Shape3.Left + Shape3.Width
// Timer1 активен пока не достигли почти правой
Границы формы
Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
// 30 пикселей не доходить до правой границы формы
If Shape3.Left + Shape3.Width <
Form1.Width - 30 then
Begin
// передвигаем вправо на 3 пикселя все части
// движущейся картинки
Shape1.Left := Shape1.Left + 3;
Shape2.Left := Shape2.Left + 3;
Shape3.Left := Shape3.Left + 3;
Shape4.Left := Shape4.Left + 3;
Shape5.Left := Shape5.Left + 3;
End
Else
// достигли правой границы движения -
// выключаем таймер
Timer1.Enabled := false;
End;
End.
При движении по вертикали будем использовать параметр Top - отступ от верхней границы формы. Значение высоты объекта находится в параметре Height.
Разберите пример использования нескольких таймеров, а так же применение "подкладки" (Panel) под картинкой для простоты кодирования движения. В примере есть рисунок, который был нарисован в Paint и вставлен как объект Image из вкладки Additional. Для связи картинки с Image в параметре Picture
рис. № 4
Вторая программа - движение ракет вверх с использованием Shape, картинки и панели
Задание: три ракеты стартуют по очереди (старт следующей при достижении верхней границы), с помощью кнопок можно заставить стартовать ракеты раньше.
Расположение объектов на форме можно рассмотреть на рисунке № 5:
- - первая ракета из Shape; - вторая из таких же шейпов на панели (Panel находится в Standard); - третья нарисована в Paint и вставлена через Image.
После нажатия на кнопку старт она становится недоступной - параметр Enabled становиться равным false.
Рис. № 5
Просмотрите как работает программа с тремя ракетами.
Var
Form1: TForm1;
Step : byte = 3; { шаг смещения ракеты равен 3 пикселям }
Implementation
{$R *.dfm}
// Пример движения графических объектов: Shape, Panel, Image
// Вторая ракета стартует после выхода на орбиту первой,
// то же самое и со второй.
// Вторая и третья ракета могут стартовать и при нажатии
// кнопок "старт"
// Обращение к объекту Timer происходит каждый раз по
// прошествии милисекунд, указанных в параметрах таймера.
// Если таймер имеет начальное значение параметра Enabled
// равным true, то он стартует одновременно с активизацией
// формы, иначе (значение false) только тогда, когда
// параметр Enabled будет равен true.
// Процедура движения стандартных графических образов - // Shape
Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
If Shape4.Top > 50 then { пока не долетели - сдвиг на шаг }
Begin
Shape1.Top := Shape1.Top - step;
Shape2.Top := Shape2.Top - step;
Shape3.Top := Shape3.Top - step;
Shape4.Top := Shape4.Top - step;
Shape5.Top := Shape5.Top - step;
Shape6.Top := Shape6.Top - step;
Shape7.Top := Shape7.Top - step;
Shape8.Top := Shape8.Top - step;
End
Else
Begin
Timer1.Enabled := false; { выключить таймер - стоп }
// Вызов процедуры-события Click на кнопке Button2
// для автоматического старта второй ракеты
Form1.Button2.Click; { старт второй ракеты }
End;
End;
// Кнопка старт для первой ракеты
Procedure TForm1.Button1Click(Sender: TObject);
Begin
Timer1.Enabled := true; { включить таймер - старт }
Button1.Enabled := false; { кнопка старт неактивна }
End;
// Процедура движения панели (Panel)
Procedure TForm1.Timer2Timer(Sender: TObject);
Begin
If Panel1.Top > 50 then { пока не долетели - сдвиг на шаг }
Panel1.Top := Panel1.Top - step
Else
Begin
Timer2.Enabled := false; { выключить таймер - стоп }
// Вызов процедуры-события Click на кнопке Button3
// для автоматического старта третьей ракеты
Form1.Button3.Click; { старт третьей ракеты }
End;
End;
// Кнопка старт для второй ракеты
Procedure TForm1.Button2Click(Sender: TObject);
Begin
Timer2.Enabled := true; { включить таймер - старт }
Button2.Enabled := false; { кнопка старт неактивна }
End;
// Процедура движения графического образа (Image)
Procedure TForm1.Timer3Timer(Sender: TObject);
Begin
If Image1.Top > 50 then { пока не долетели - сдвиг на шаг }
Image1.Top := Image1.Top - step
Else
Timer2.Enabled := false;
End;
// Кнопка старт для третьей ракеты
Procedure TForm1.Button3Click(Sender: TObject);
Begin
Timer3.Enabled := true; { включить таймер - старт }
Button3.Enabled := false; { кнопка старт неактивна }
End;
End.
Как выполнить движение по диагонали?
Для движения графического объекта по диагонали нужно в процедуре таймера одновременно выполнить смещение как влево (вправо), так и вниз (вверх).
Похожие статьи
-
Объявим переменные как глобальные: Var Form1: TForm1; A, b, x : int64; // Самый большой целочисленный тип Implementation Код процедуры Click для кнопки...
-
- рисуем графический примитив, например, эллипс у рыбки; - накладываем сверху на эллипс другой графический объект так, чтобы он закрывал часть эллипса; -...
-
Нарисовать картину на форме или панели (минимум из 6-и Shapes) и выполнить движение: 1. направо, затем вверх из левого нижнего угла формы; 2. налево,...
-
Вопросы для самоконтроля - Объектно-ориентированное, визуальное программирование в Delphi на уроках
1. Какую новую конструкцию языка Pascal Вы узнали? 2. Почему в первом цикле переменная A начинается с 1, а переменные B и C с ноля. 3. Какие переменные и...
-
- замечания, нужно запомнить. Знакомство со средой DELPHI Для загрузки Delphi нужно запустить файл Delphi32.exe из папки Bin каталога Delphi7. Можно...
-
Var A, b : integer; Begin // В переменные a и b заносим целочисленные //значения A := StrToInt(Edit1.Text); B := StrToInt(Edit2.Text); Label5.Caption :=...
-
1. Какой математической операции нет в Delphi? 2. Как изменить порядок выполнения операций Delphi? 3. В каком порядке выполняются операции одного...
-
Сохранение проекта Возможны как минимум три варианта: 1. Меню File, строка Save All с подсказкой горячих клавиш Shift+Ctrl+S; 2. Щелкнуть по иконке двух...
-
Процедура Click для кнопки ОПРЕДЕЛИТЬ с дополнительным заданием Procedure TForm1.Button1Click(Sender: TObject); Begin A := strtofloat(edit1.Text); {...
-
Код программы - Объектно-ориентированное, визуальное программирование в Delphi на уроках
Рассмотрим код процедуры Click для кнопки " Вычислить ": Procedure TForm1.Button1Click(Sender: TObject); Var X : real; { вещественный тип переменной }...
-
Введение - Объектно-ориентированное, визуальное программирование в Delphi на уроках
Урок информатика программирование объект Значительно более мощные системы Windows, OS/2 и другие привели к повсеместному вытеснению старой "доброй" DOS...
-
Компонент TPanel является несущей конструкцией для размещения на ней других элементов управления, являясь в этом случае родителем для размещенных на ней...
-
Литература, Текст программы - Разработка визуального редактора
1. Методические указания по выполнению курсовых и дипломных проектов. Специальность: 2-40 02 01 "Программное обеспечение информационных технологий"; 2....
-
Анимация - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования анимационных компонентов. Пояснения к работе Компонент Animate расположен на вкладке Win32 и позволяет...
-
Среда объектно-ориентированного программирования Delphi Delphi - это комбинация нескольких важнейших технологий, высокопроизводительный компилятор в...
-
Примеры операторов вызова процедур - Структурирование программы
T; {нет списка фактических параметров Summa(x, y,z); {x, y,z - фактические параметры; x: integer; у, z; real} a(z); {z - фактический параметр, z:d} При...
-
Рекурсивные графические построения - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования рекурсии. Пояснения к работе Рекурсивным называется объект, частично состоящий или определяемый с помощью...
-
Программирование для Интернет - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Получить навыки использования компонента WebBrowser. Пояснения к работе Начиная с пятой версии Delphi появился компонент WebBrowser который...
-
Заключение - Информационная система Вуза
Разработанный программный продукт позволяет решать достаточного широкий круг задач, связанных с оптимизацией учебного процесса некоторого Вуза. Данный...
-
Практическое решение примеров в программе Macromedia Flash (скриншоты примеров) Пример анимационная баннер сайта. Пример баннер сайта состоит 227 кадров...
-
Процедуры и переменные Таблица с описание процедур: Вызов Название процедуры Предназначение Кнопка "Записать уравнение" TForm1.Button1Click Составление и...
-
Рекурсивные процедуры и функции - Структурирование программы
Подпрограмма, вызывающая саму себя, называется рекурсивной подпрограммой. При каждом новом обращении к подпрограмме параметры, которые она использует,...
-
Разработка тестового приложения. - Разработка Windows-приложений в среде Borland Delphi
Цель Работы: Закрепить навыки программирования в Delphi. Постановка задачи: Текстовый файл содержит несколько вопросов и 4 варианта ответа, из которых...
-
Базовые компоненты Delphi. - Разработка Windows-приложений в среде Borland Delphi
Цель работы: Получить навыки использования в программе базовых компонентов Delphi. Пояснения к работе В форме практически любого приложения есть...
-
Система AutoCAD при создании файлов обмена описаниями чертежей типа DXF включает в файл всю относящуюся к чертежу формацию. Это необходимо для полного...
-
Проверка программы на примере задачи. Для работы с программой запускаем файл TabSimMethod. exe рис.1. Рис.1 Файл TabSimMethod. exe Запустится программа...
-
СООБЩЕНИЯ ОПЕРАТОРУ, Сообщение о программе, Листинг программы - Руководство оператора
Сообщение о программе Программа "AdressBook. ехе" выдает сообщение о программе, при выборе в главном меню пункта "О программе" во вкладке "Помощь"...
-
А - Разработка программы на языке C++, реализующей игру "Морской бой"
ТЕКСТ ПРОГРАММЫ Текст программы состоит из следующих модулей: UShipBattle. h, UShipBattle. cpp, ShipBattle. cpp ShipBattle. cpp // - #include <vcl. h>...
-
РАБОТА ПРОГРАММЫ, ЛИСТИНГ И ТЕСТИРОВАНИЕ - Основы программирования в операционной системе Unix
После входа в операционную систему Mandriva Mageia нужно перейти в консоль, затем в директорию с программой - командой "cd KR". Чтобы просмотреть список...
-
Инструментальное программное обеспечение -- это программное обеспечение, предназначенное для использования в ходе проектирования, разработки и...
-
Примеры визуального представления данных - Визуализация количественных данных
Визуализация программный обеспечение данные В научно-технической документации применяются различные виды визуализации (ниже приведены примеры...
-
Эволюция языков программирования - Модульное и объектно-ориентированное программирование
Принцип программного управления компьютером состоит в том, что человек подает команды на логические схемы, которые управляют различными подсистемами...
-
ВВЕДЕНИЕ - Модульное и объектно-ориентированное программирование
В настоящее время большинство рабочих мест являются компьютеризированными. Поэтому умение пользоваться компьютером становится одним из необходимых...
-
Инструментарий технологии программирования - программные продукты поддержки (обеспечения) технологии программирования. В рамках этого направления...
-
Данное методическое руководство является фактически введением в предмет создания приложений с помощью Delphi / C++Builder и тем более...
-
Общие сведения о программе Программа разработана для демонстрации возможностей языка C++ и может использоваться для пользователей, которые не знакомы с...
-
Опис програмних модулів . Модуль "Main" Модуль Main є головним модулем програми через який здійснюється зв'язок з іншими програмними модулями. Перехід на...
-
СХЕМА АЛГОРИТМА РАБОТЫ ПРОГРАММЫ, ЗАКЛЮЧЕНИЕ - Основы программирования в операционной системе Unix
Блок-схема главной функции программы (main) изображена на рисунке 4. Рисунок 4 - блок-схема main. cpp Блок-схема модуля (Math. cpp) изображена на рисунке...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
Использование звука и видео в приложениях. - Разработка Windows-приложений в среде Borland Delphi
Цель Работы Получить навыки использования медиаплеера при проектировании приложений. Пояснения к работе Компонент MediaPlayer (рис.1), значок которого...
Примеры программ на движение - Объектно-ориентированное, визуальное программирование в Delphi на уроках