Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

По нажатию клавиши со стрелкой

Рисование узоров | Рисование поля для различных игр | Для построения графиков | Построение графиков элементарных функций | В случайных местах | Движение двоичного образа по фоновой картинке | В динамических приложениях | Перемещение картинок | События от мыши | Движение образа по удерживанию левой кнопки мыши |


Читайте также:
  1. Анализ работы 2-х проводной схемы управления стрелкой при повреждениях.
  2. Горячие клавиши
  3. Горячие клавиши
  4. Горячие клавиши в LR
  5. ГОРЯЧИЕ КЛАВИШИ ГОРЯЧИЕ КЛАВИШИ 3DS MAX
  6. Горячие клавиши для работы с текстом и файлами
  7. Горячие клавиши и работа с мышью в 3ds Max

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

Реализация. Нарисуйте гепарда в графическом редакторе Paint
и сохраните его в папке проекта. Загрузите его из файла как растровый рисунок типа TBitMap. Пусть координаты этого образа будут x 1, y 1. С помощью метода Draw выведем рисунок в центр формы.

cw:=clientwidth;

ch:=clientheight;

x1:=cw div 2;

y1:=ch div 2;

Form1.Canvas.Draw(x1,y1, bit1);

 

На вкладке Additional найдем компонент TApplicationEvents и положим его на форму в любое место. Он невидимый. Откроем вкладку «Events» (события), найдем событие OnShortCut и справа напротив OnShortCut кликнем дважды мышью. Откроется обработчик TForm1.ApplicationEvents1ShortCut, который возвращает переменную Msg, содержащую код нажатой клавиши. В этой процедуре опишем изменение координат х 1, у 1 при нажатии клавиш со стрелками.
До изменения координат образ «стираем», т. е. закрашиваем цветом формы. Для закрашивания напишите свою процедуру clear (x,y:integer). После изменения координат х 1, у 1 образ вновь копируем на форму. Напишем код обработчика события OnShortCut:

 

procedure TForm1.ApplicationEvents1ShortCut(var Msg: TWMKey; var Handled: Boolean);

begin

clear(x1,y1); // Стираем образ

case Msg.CharCode of

37:if x1>dx1 then

x1:=x1-dx1; {влево}

40:if y1+30<ch-dy1 then

y1:=y1+dy1; {вниз}

38:if y1>dy1 then

y1:=y1-dy1; {вверх}

39:if x1+30<cw-dx1 then

x1:=x1+dx1; {вправо}

end;

Form1.Canvas.Draw(x1,y1,bit1); // Выводим образ

end;

 

В обработчике TForm1.BitBtn1Click события OnClick кнопки BitBtn 1 напишем следующий код:

procedure TForm1.BitBtn1Click(Sender: TObject);

begin { Загрузить рисунок }

Bit1.loadfromfile('гепард.bmp');

bit1.Transparent:=true;

Form1.Canvas.Draw(x1,y1,bit1);

end;

 


Дата добавления: 2015-08-20; просмотров: 51 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Код клавиши| Совмещение управляемого и неуправляемого движений.

mybiblioteka.su - 2015-2024 год. (0.005 сек.)