![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Японский кроссворд [Delphi, Windows]
MadAngel © (2006-02-06 07:42:00)Никто не делал сабж?
Может кто поделится исходниками? ;)
Ну или хотя бы подскажите как отрисовать поле для игры..
antonn (2006-02-08 12:42:00) [1]Старик (08.02.06 11:17) [15]
примерно такие: http://www.delphimaster.ru/cgi-bin/forum.pl?id=1137717371&n=0
Старик (2006-02-08 11:17:00) [2]antonn: А именно?
antonn (2006-02-08 09:53:00) [3]Старик (08.02.06 9:36) [13]
XProger просто использует свойство формы Form1.DoubleBuffered (А я и не знал, что такое свойство у форм есть! Респект, однако :)), antonn - блиттинг.
А я ничего такого не знал, и пришлось изворачиваться.
просто с doublebuffered могут вылезти неприятные баги...
Старик (2006-02-08 09:36:00) [4]XProger, antonn:
Согласитесь, каждый ищет свой выход из положения, не так ли? :)
XProger просто использует свойство формы Form1.DoubleBuffered (А я и не знал, что такое свойство у форм есть! Респект, однако :)), antonn - блиттинг.
А я ничего такого не знал, и пришлось изворачиваться.
Просто мне в силу воображения проще было представить две карты, которые можно тасовать как угодно...
antonn (2006-02-08 05:40:00) [5]XProger © (07.02.06 10:54) [10]
Старик,
Form1.DoubleBuffered := True;
Старик, ни в коем случае...
мерцание практически исчезает при использовании TBitmap и вывода его через BitBlt(), хоть на форму, хоть на TPaintBox.
-SEV- (2006-02-08 01:31:00) [6]Ха! Японские кроссворды я делал, но прога генерит кроссворд на битмап, а затем его мона распечатать.
Насчёт мерцания: можно извращаться как угодно, если не знать одного хитрого выхода. Хотя проще юзать sevPaintBox из sevLibrary для Delphi 7. К сожалению выложить не представляется возможным...
XProger (2006-02-07 10:54:00) [7]Старик,
Form1.DoubleBuffered := True;
Старик (2006-02-07 08:21:00) [8]to gamer:
тимаге дрянь в отношении мерцания. не знаю почему, но чаще всего это замечал именно за тимаге. Как-то раз надоело, и я немного извратился - сделал псевдо (двойную буфферизацию) с помощью двух тбитмап'ов. А так - дрянь дрянью :)
grouzd[E]v (2006-02-06 19:20:00) [9]http://grouzdev.nm.ru/trash/scratch_out.rar(14,3кб)
с пометкой "раннее"
---
... we are walking on a thin line and you better avoid the risk ...
MadAngel (2006-02-06 18:07:00) [10]Да, я в начале тоже подумал о TImage , даже нарисовал поле, но очень неудобно работать с клетками.
> grouzd[E]v ©
OGL не сильно интересует, а вот на канве интересно было бы посмотреть. Очень прошу...
> Кефир87
Над чем смеяться то?
Кефир87 (2006-02-06 14:35:00) [11]
> grouzd[E]v © (06.02.06 14:08) [5]
Выкладывай. Пасмиёмся 8)
grouzd[E]v (2006-02-06 14:08:00) [12]
> Никто не делал сабж?
Делал. Сначала на канве, потом 3D на OGL (первая моя gl-программа, между прочим =)
> Может кто поделится исходниками? ;)
Может
---
... we are walking on a thin line and you better avoid the risk ...
antonn (2006-02-06 13:59:00) [13]Старик (06.02.06 9:20) [2]
Например, TImage (редкостная дрянь) или TPaintBox.
вах... а может лучше отрисовывать на Tbitmap? а выводить все равно куда...
gamer (2006-02-06 10:28:00) [14]> Старик (06.02.06 09:20) [2]
Можно ли будет услышать подробности о том, что TImage - редкостная дрянь?
Вот и пурген вроде вреден, но некоторые его пьют.
Старик (2006-02-06 09:20:00) [15]>>XProger: Canvas.FillRect [1]
Бугагага! :) Молоток!
Отрисовывать поле надо, как сказал XProger, на чем-нибудь, имеющим канву.
Например, TImage (редкостная дрянь) или TPaintBox. При рисовании обращаешьс к канве (Image1.Canvas.что-нибудь).
Но рекомендую использовать DrawGrid. Не знаю, как там со скоростью работы, но удобно - словами не передать - там уже все за тебя разбито на клетки. В событии OnDrawCell имеешь возможность обращаться к каждой клетке и на ней рисовать что-нибудь.
XProger (2006-02-06 07:46:00) [16]http://algolist.manual.ru/misc/japancross.php
Canvas.FillRect