|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.03.2013, 16:03 | #1 |
Пользователь
Регистрация: 14.03.2013
Сообщений: 30
|
Проблема с движением 2D человека.
Написал программу передвижения человека по экрану, периодически меняя картинку, создавая эффект движения. Для всех трех картинок использовал компонент TImage. При однократном нажатии на клавишу d человек передвигается по экрану отлично т.е. все три картинки меняются в нужной последовательности! Но если её удерживать, появляются только две картинки из трех. В программировании новичек. Но очень хочу разобраться с этим! Может подскажите, что делать?
Последний раз редактировалось FomAW; 16.03.2013 в 20:01. |
16.03.2013, 17:41 | #2 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
|
20.03.2013, 11:18 | #3 |
криворукий
Пользователь
Регистрация: 07.05.2012
Сообщений: 78
|
юнит 2 пас найти не может
|
20.03.2013, 12:59 | #4 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
for nuberod
Просто путь к Unit2.pas прописан как "Unit2 in '...\Man-Two scrin\Unit2.pas' {Form2};" Вот поэтому и не может найти. for FomAW А зачем вам 3 таймера и 2 имайджа? Тут можно обойтись нажатием кнопок и наложением с помощью BitBlt. Картинку взял отсюда. Вот пример:
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 20.03.2013 в 13:49. Причина: Добавление исходника, ссылка на картинку |
20.03.2013, 19:23 | #5 |
Пользователь
Регистрация: 14.03.2013
Сообщений: 30
|
Rin Спасибо! Но как я уже говорил в программировании я новичек. Не могли бы вы немного по подробнее объяснить мне об этих функциях?
|
20.03.2013, 23:11 | #6 |
Негодник
Форумчанин
Регистрация: 10.11.2009
Сообщений: 880
|
В переменную BM:TBitMap загружается картинка. TBitMap по сути растр, и в него можно грузить картинки bmp формата.
Сначала для переменной BM нужно выделить память. Это делается строкой Код:
Код:
Строка Код:
39- её код в ASCII. Если интересны другие коды клавиш, то об этом можно почитать ТУТ Теперь мы должны взять определенную область с нашей картинки. За это отвечает строка Код:
Параметры этой функции: 1) дескриптор приемника ([b]Handle[\b]) типа HDC; 2) координата Х левого верхнего угла области, в которую копируем; 3) тоже самое, только для Y; 4) размер области приемника по Х; 5) размер области приемника по Y; 6) дескриптор источника ([b]Handle[\b]) типа HDC; 7) координата Х левого верхнего угла области, из которой копируем; 8) тоже самое, только для Y; 9) код растровой операции. Про другие коды растровых операций можно почитать здесь или здесь Ну, и при закрытии программы нужно освободить память, выделенную под нашу картинку. Это делает строка Код:
Если помог, проси поставить минус. Будь оригинален!
Последний раз редактировалось Rin; 20.03.2013 в 23:15. |
21.03.2013, 15:42 | #7 |
Пользователь
Регистрация: 14.03.2013
Сообщений: 30
|
for Rin
Спасибо! Очень помогли. Последний раз редактировалось FomAW; 21.03.2013 в 16:16. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сложности с движением экселевского фокуса ввода из под ворда | alt2 | Microsoft Office Word | 10 | 21.10.2011 23:54 |
[Pascal] Помогите с движением змейки | Рамик | Помощь студентам | 5 | 08.09.2009 21:53 |
Проблема с движением вокруг своей оси. | intelx1989 | Общие вопросы Delphi | 3 | 14.05.2009 18:02 |
Как избавиться от появления хвоста за движением эдита edit? | Горожанин | Мультимедиа в Delphi | 9 | 30.04.2009 14:40 |
Управление движением объекта мышью | program123 | Общие вопросы Delphi | 9 | 08.03.2009 20:11 |