![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 08.05.2011
Сообщений: 2
|
![]()
Доброго времени суток всем! Недавно у меня появилась такая идея, даже скорее мечта, создать игру типо марио, но очень простенькую без ботов, в которой нужно ловить падающие предметы. Но вот незадача. Попал в ловушку. Обгуглил всё, но ничего ненашёл, из того, что мне нужно. Находил правда подобное, но там при нажатии мышкой на картинку, а мне нужно при нажатии клавиши.
Ближе к делу. В общем, прошу вас помочь с кодом. Я составил простенький код по перемещению картинки по координатам при нажатии стрелочки (-->). Вот собственно и сам код : procedure TForm1.FormCreate(Sender: TObject); begin KeyPreview:=true; end; procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin Case Key of VK_RIGHT : image1.left:=+5; end; end; Но дело в том, что при нажатии данной клавиши (-->) картинка перемещается не так, как задумано, на каждые 5 пикселей, а именно на 5-ый пиксель на форме. А мне нужно, чтобы при зажатии стрелочки вправо, картинка перемещалась вправо по координатам до стенки. Очень прошу помоч с кодом ![]() ![]() И если не сложно, еще нужен код чтоб при перемещении не только координаты менялись, но и картинка (чтобы происходила анимация) Заранее благодарен ![]() Последний раз редактировалось mihaillo; 08.05.2011 в 20:51. |
![]() |
![]() |
![]() |
#2 |
Ещё не
Форумчанин
Регистрация: 04.01.2010
Сообщений: 517
|
![]() Код:
Воображение важнее, чем знания. (Albert Einstein)
![]() |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 08.05.2011
Сообщений: 2
|
![]()
Спасибо большое! Всё работает!
Последний раз редактировалось mihaillo; 08.05.2011 в 22:06. |
![]() |
![]() |
![]() |
#4 |
Заблокирован
Регистрация: 28.02.2018
Сообщений: 2
|
![]()
procedure TForm3.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin case key of VK_Left:if Image2.Left>=5 then Image2.Left:=Image2.Left-5; VK_Right:if Image2.Left+Image2.Width+5<=ClientW idth then Image2.Left:=Image2.Left+5; VK_Up:if Image2.Top>=5 then Image2.Top:=Image2.Top-5; VK_Down:if Image2.Top+Image2.Height+5<=ClientH eight then Image2.Top:=Image2.Top+5; end; end; |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как в C# прервать работу цикла при нажатии клавиши | xata1988 | Общие вопросы .NET | 5 | 14.02.2011 14:48 |
Закрытие окна при нажатии опр. клавиши на клавиатуре. | Borgond | Общие вопросы Delphi | 6 | 25.08.2010 01:14 |
завершение цикла при нажатии клавиши | LLIyPI/IK | Общие вопросы C/C++ | 8 | 12.02.2010 13:29 |
Движение картинки по форме | SaiLight | Свободное общение | 1 | 04.06.2009 04:28 |
Событие при нажатии клавиши Enter | Inbox | Общие вопросы Delphi | 4 | 12.06.2007 14:18 |