![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Клетчатое поле
guitarist © (2006-09-25 14:47:00)День добрый.
Хочу приступить к созданию игры типа крестики-нолики или клопы (не суть важна). Хочу услышать подсказку, как лучше сделать клетчатое поле на котором все будет происходить, так чтобы это смотрелось хорошо и не было бы слишком сложно.
Спасибо.
Будут вопросы -- разъясню
iNevil (2006-10-11 21:46:00) [1]В данной ситуации Canvas рулит!
procedure DrawGrid(_out: TForm); //Может тут что-то не так - писал где-то год назад... :)
var
i: integer;
begin
_out.Canvas.MoveTo(0,0);
_out.Canvas.FillRect(Rect(0,0,_out.Width,_out.Height));
_out.Canvas.Pen.Color:=clBlack;
_out.Canvas.Pen.Width:=3;
_out.Canvas.LineTo(0,_out.Height);
_out.Canvas.LineTo(_out.Width,_out.Height);
_out.Canvas.LineTo(_out.Width,0);
_out.Canvas.LineTo(0,0);
for i:=1 to 3 do
begin
_out.Canvas.MoveTo(50*i, 0);
_out.Canvas.LineTo(50*i, _out.Height);
_out.Canvas.MoveTo(0, 50*i);
_out.Canvas.LineTo(_out.Width ,50*i);
end;
end;
Belorus (2006-10-02 17:11:00) [2]www.gaplayer.jino-net.ru/GAME.rar - скачай глянь. Если понравиццо - кинь мыло на mylce@yandex.ru я исходник отдам.
guav (2006-09-27 21:25:00) [3]Invalidate
(вообще-то перерисовать Redraw, но обычно нужно не перерисовать немедленно, а указать что элемент управления требует перерисовки вызовом Invalidate)
Моторокер (2006-09-27 16:19:00) [4]А по щелчку мыши полностью перерисовывать?
brother (2006-09-25 20:31:00) [5]в OnPaint создать отдельную процедуру (или там же) и рисовать на канве формы что дуще угодно...
ProgRAMmer Dimonych (2006-09-25 19:01:00) [6]Свой компонент от TGraphicControl или TCustomControl (если нужен хэндл). Всё прорисовываем ручками, крестики с ноликами тоже можно автоматически в нём рисовать...
Сергей М. (2006-09-25 15:32:00) [7]Обычный TCustomGrid
clickmaker (2006-09-25 15:08:00) [8]TPaintBox
линии рисовать в цикле в OnPaint