IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Клавиатура, прозрачность и др. вопросы
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 98
Пол: Мужской
Реальное имя: Andriy

Репутация: -  0  +


Первый раз создаю игрушку на Дельфи, и возникло несколько вопросов, с которыми я не встречался прежде:
1) Как сделать обработчик нажатий клавиш? То есть, жму влево- обьект движется влево и т.п.
Использую код типа:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);

begin

if Key = VK_RIGHT then
SpS1.Left:=Speed.Value+SpS1.Left;
if Key = VK_LEFT then
SpS1.Left:=SpS1.Left-Speed.Value;

end;


c keypress, keyup, keydown, но у меня лишь меняется фокус формы.

2) Как сделать прозрачность некоторых частей рисунков? В общем, есть три варианта:
а) Сделать маску (прочитал в интернете);
б) Анализировать пиксели фона; (сам придумал)
в) Использовать векторную графику; (пишет в книге)
Может есть какой-нибуть более простой способ? Если нет, прошу обьяснить вариант в) (подсказать редактор, нюансы и т.д.)

В чем суть игры: справа - большое окно с фоном, который меняется с уровнями, снизу и сверху - всякие кораблики lol.gif , справа - панель с клавишами управления и панель с настройками.
ОЧень надеюсь на помощь wink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






Цитата
у меня лишь меняется фокус формы.
Form1.KeyPreview, конечно в True не установил? Установи, тогда нажатия клавиш будут обрабатываться... Больше ничего сказать не могу, потому что неизвестно, как именно ты перерисовываешь объект потом...

Цитата
Как сделать прозрачность некоторых частей рисунков?
По-моему, в Drkb было что-то с этим связанное...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 98
Пол: Мужской
Реальное имя: Andriy

Репутация: -  0  +


Цитата
Form1.KeyPreview, конечно в True не установил? Установи, тогда нажатия клавиш будут обрабатываться... Больше ничего сказать не могу, потому что неизвестно, как именно ты перерисовываешь объект потом...

Спасибо, первый раз работаю с клавиатурой.
Цитата
По-моему, в Drkb было что-то с этим связанное...

Разобрался на примере "Самолет летит по небу"
____________________________________________
Еще вопросик - это фича или глюк : иногда при редактировании кода, когда дописываю дополнительный текст всередине какой-нибудь строки, он не "вставляется", "передвигая" то, что за ним; а "заменяет" тот код, что идет далее. Помогает лишь перезапуск. wink.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Это фича... Чтобы ее отключить, достаточно нажать на кнопку Insert на клавиатуре (т.е. перейти из режима замещения в режим вставки).
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 29.10.2020 12:18
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name