"РЛ" - НАЧИНАЮЩИМ
§
Ринат Мязитов
Гродненская обл., г. Берёзовка
E-mail:
Ramil-333 ©tut.by
| В одном из прошлых номеров мы затрагивали тему простых
компьютерных игр. Я предлагаю создать еще одну небольшую
I
игру под названием puzzle (мозаика).
Л D j'A
J J1» J J J1
.У JJ
J JJ
j
'
j
J
i
J
JJ л
JJ
Во-первых, прежде чем что-то создавать, нужно задать
себе определенные вопросы. Для нашей затеи они будут
звучать примерно так:
- чем будут являться сами мозаики;
- какой код поможет нам перемещать эти кусочки по на-
шей форме.
В принципе, для отображения картинок в программе ис-
пользуются компоненты Tlmage. Но вот какая загвоздка: тот
код, который я знаю, никак не подходил к этому компоненту.
Тогда я подумал: а что если картинка будет отображаться на
каком-нибудь другом компоненте - на том, к которому под-
ходил мой код?
Кстати, вот код для компонента Panel, который впослед-
ствии я выбрал для отображения частиц мозаик (врезка 1).
Смею предположить, что примерно таким кодом пере-
таскиваются объекты в Photoshop и подоб-
ных ему редакторах.
Ну что ж, все вопросы мы выяснили и
приступим к работе. Теперь выбираем кар-
тинку, я выбрал вот такую
(рис. 1),
и разде-
ляем ее на 4 равные части (т.к. у нас будет 4
части мозаики, и каждую часть мозаики нуж-
но сохранить в отдельном файле в верхнем
правом углу).
Затем добавляем на нашу форму 4 ком-
понента Panel с вкладки Standard, с панели
компонентов, и 1 компонент Image с вклад-
ки Additional. Одно “но”: каждый компонент
Panel должен быть размером как одна часть
рисунка. Теперь нажимаем левым щелчком
мыши по компоненту Image, и в инспекторе объектов (в ле-
вом нижнем углу есть окно Object Inspector) выбираем во
вкладке Properties, Picture. И нажимаем на значок многото-
чия, перед нами появилось окно загрузки изображения, на-
жимаем на кнопку Load и ищем там наш рисунок первой ча-
сти, и нажимаем ОК (рис. 2).
Затем правой кнопкой мыши нажимаем на компонент
Image и выбираем там Edit->Copy. Рисунок скопировался в
буфер. Теперь нажмем на компонент Panel правой кнопкой и
выберем там Edit->Paste. Наш рисунок вставился поверх
Panel, теперь подгоним Panel под размер рисунка, но так,
чтобы вверху оставалось чуть места, где мы могли бы взять-
ся, чтобы перетащить моэаику
(рис. 3).
Теперь опять нажмем на компонент Image, и опять загру-
зим в него рисунок, только уже другой части мозаики (тем
же способом, как описано выше). И таким же способом до-
бавим картинки на все Panel-и. И обязательно запомните но-
мер у каждой панели, чтобы потом не возникло вопросов
при программировании. В конце работы у вас должно полу-
чится следующее
(рис. 4).
Затем разместите мозаику так, как вы считаете нужным.
ЬиПіІММІШМН -
Файл Правка Вид Рисунок Палитра Справка
£
а
1_
9
Г*
\
и
ш
Рис. 2
36
ReleaseCapture();
©I
Panel1->Perform(WM_SYSCOMMAND,0xF012,0);
Теперь приступим к программированию. Нажмите левой
клавишей по компоненту Panel 1 (по той части, которая не
занята рисунком), и в инспекторе объектов, во вкладке Events,
найдем строчку OnMouseDown (это обработчик события, ког-
да мы нажимаем на компонент и не отпускаем его) и нажмем
двойным щелчком по пустой строчке слева
(рис. 5).
О Радиолюбитель - 0 3 /2 0 0 8
предыдущая страница 36 Радиолюбитель 2008-03 читать онлайн следующая страница 38 Радиолюбитель 2008-03 читать онлайн Домой Выключить/включить текст