Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.09.15;
Скачать: CL | DM;

Вниз

help ...canvas   Найти похожие ветки 

 
walruz ©   (2003-03-15 02:56) [0]

Помогите начинающму!
Если можно то раскожите о канве,что ето такое итд.
Как заставить управлять обьектом по форме? Я делал обычный Timage c помощью left и top ,но это говорят не то=(, говоряят надо форму разбить на кординаты итд . Спосибо!!


 
Mihey   (2003-03-15 16:21) [1]

Действительно, обычный TImage - это не то. Если нужно сделать игрушку, то есть два способа вывода графики. ПредположиМ, нам нужно нарисовать шарик, отбивающийся от стенок. В первом способе мы выведем на экран (на канву формы) этот шарик, а когда он будет двигаться, то мы будем на старое место шарика выводить фон, а потом рисовать шарик на новое метсо. Т.е., старый шарик стирается, в новые координаты выводится новый.

TCanvas - это поверхность объекта, на которой он сам рисуется. Состоит канва из массива пикселей и набора других свойств и методов. Вывод графики обычно производится методом Draw, при этом указываются координаты и какое изображение вообще рисовать. При этом, изображения хранятся в таких случаях в объектах типа TBitMap обычно, так что с TImage мы дела не имеем.

Есть другой способ вывода экрана игры. Мы создаём пустое изображение - буфер. Каждый тик таймера мы рисуем в буфер фон, а потом уже шарик. При этом, стирать ничего не надо - изображение строится полностью по новой. И в конце мы выводим получившийся буфер на экран. При этом, на экран рисуется только буфер, остальные операции по копированию происходят в памяти, а это выигрыш в скорости.

Для работы с канвой используют часто не только стандартные методы канвы, а такие функции, как BitBlt и так далее. Они гораздо быстрее, но накладывают свои ограничения.


 
walruz ©   (2003-03-15 19:50) [2]

Mihey Большое спосбо за столь обширную инфу!!!
Но как мне допустим нарисовать круг который можно будет перемещать по форме(с помощью канвы)? Может приведи пример ,а то так розабратся сложновато=)! Жду помощи!


 
Mihey   (2003-03-15 20:50) [3]

Простенький пример я выложил сюда:

www.hot.ee/mvps4/Demo.rar

Круг можно вывести и чисто средствами канвы, то есть нарисовать его, но я предпочитаю иметь заранее нарисованное изображение круга и выводить его на канву. Это зависит от цели. Если у тебя круг - это только набросок, который должен превратиться в летающую тарелку, например, то так будет, естественно лучше. При выводе использую BitBlt и это ни что иное, как второй из предложенных мною способов.


 
walruz ©   (2003-03-15 22:37) [4]

Большое спосибо!!



Страницы: 1 вся ветка

Текущий архив: 2003.09.15;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
11-48487
microlab
2003-01-06 19:26
2003.09.15
TKOLListView


14-48705
Vlad Oshin
2003-08-28 12:23
2003.09.15
Про адресацию сетей


14-48695
nikkie
2003-08-25 16:34
2003.09.15
тест


1-48649
SiRex
2003-09-02 00:35
2003.09.15
Проблемка: RichEdit + Русские символы


3-48478
AlexTregubov
2003-08-22 15:33
2003.09.15
Запарился я с таблицами