Главная страница
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.029 c
1-48567
Man
2003-09-03 13:02
2003.09.15
Как в своё приложение встроить чужую программу


14-48710
AlexRush
2003-08-28 11:24
2003.09.15
Закончился отпуск..... :(


6-48681
Manfred
2003-07-14 18:13
2003.09.15
Скачивание файла с сервера.


14-48747
Giemgo
2003-08-26 18:36
2003.09.15
Зачем мы нужны?


4-48835
Dimaxx
2003-07-14 02:12
2003.09.15
Как пользоваться функцией PickIconDlg?