![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#51 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]()
Ну так к примеру машина у вас это ImageCar, тогда для того, чтобы машина поехала вправо, нужно вписать такой код по событию таймера:
Код:
|
![]() |
![]() |
![]() |
#52 |
Пользователь
Регистрация: 26.03.2009
Сообщений: 55
|
![]()
Вот я вот так написал
procedure TForm1.Timer1Timer(Sender: TObject); begin if KeyPressed (37) then // Äâèãàòü ìàøèíó âëåâî Image3.Left := Image3.Left - 2; if KeyPressed (39) then // Äâèãàòü ìàøèíó âïðàâî Image3.Left := Image3.Left + 2; Но 2 кнопки враз не работают, т.е. вперёд и влево например
Sokol
|
![]() |
![]() |
![]() |
#53 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]()
А какой интервал у таймера?
|
![]() |
![]() |
![]() |
#54 |
Пользователь
Регистрация: 26.03.2009
Сообщений: 55
|
![]()
У таймера100
Sokol
|
![]() |
![]() |
![]() |
#55 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]()
Уберите весь код из процедуры OnKeyDown Form'ы и тогда ничего не будет конфликторовать. Лучше приведите полный код вашей программы.
|
![]() |
![]() |
![]() |
#56 |
Пользователь
Регистрация: 26.03.2009
Сообщений: 55
|
![]()
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, jpeg, ExtCtrls; type TForm1 = class(TForm) Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Timer1: TTimer; procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); procedure Timer1Timer(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation function keypressed(key: byte): boolean; var keys: TKeyboardState; begin result:=false; GetKeyboardState(keys); if(keys[key]=128)or(keys[key]=129)then result:=true; end; {$R *.dfm} procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if key=VK_UP then image3.Top:=image3.Top-2; if key=VK_LEFT then image3.Left:=image3.Left-2; if key=VK_DOWN then image3.Top:=image3.Top+2; if key=VK_RIGHT then image3.Left:=image3.Left+2; end; procedure TForm1.Timer1Timer(Sender: TObject); begin if KeyPressed (37) then // Двигать машину влево Image3.Left := Image3.Left - 2; if KeyPressed (39) then // Двигать машину вправо Image3.Left := Image3.Left + 2; end; end.
Sokol
|
![]() |
![]() |
![]() |
#57 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]() Код:
|
![]() |
![]() |
![]() |
#58 |
Форумчанин
Регистрация: 23.02.2009
Сообщений: 237
|
![]()
из FormKeyDown убери код, и все будет нормально!
|
![]() |
![]() |
![]() |
#59 |
Пользователь
Регистрация: 26.03.2009
Сообщений: 55
|
![]()
конфликтов нет,просто хочу, чтобы поворот нормальный был, с поворотом картинки, и ее смещением в нужную сторону, ну как положено при повороте тачки
Sokol
|
![]() |
![]() |
![]() |
#60 |
Участник клуба
Регистрация: 29.01.2008
Сообщений: 1,039
|
![]() |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание 3d игры на C++ | Wakatsusiro | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 6 | 26.11.2011 01:45 |
Создание 2d RPG игры | VTR | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 29 | 19.05.2009 16:34 |
Создание игры РПГ (RPG) | vzov | Qt и кроссплатформенное программирование С/С++ | 18 | 13.05.2009 03:12 |
Создание игры | Revival001 | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 8 | 24.01.2009 19:54 |
Создание игры Packman | AngelOfDeath | Gamedev - cоздание игр: Unity, OpenGL, DirectX | 17 | 27.08.2008 13:15 |