|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Авг 28, 2003 00:42:56 Как осуществить сабж, нужно чтоб текст плыл сверху вниз. Я попробовал подвигать текст созданный с помощью GDI дык он вообще пропал из окна :) |
|
|
Дата: Авг 28, 2003 03:01:58 Стереть TextOut(hdc,X0,Y0,"Ля-ля-ля",8); Подождать Стереть TextOut(hdc,X0,Y0 + delta,"Ля-ля-ля",8); Подождать Стереть TextOut(hdc,X0,Y0 + 2 * delta,"Ля-ля-ля",8); Подождать ... и т.д. Для стирания можно использовать FillRect дык он вообще пропал из окна :) Давай сюда код :) |
|
|
Дата: Авг 28, 2003 03:07:25 [ Quantum: Давай сюда код :)] Я стесняюсь свою галимотью сюда постить :) А, значит его нужно сначала стереть и только потом нарисовать заново, нужно ещё подумать. А если я уже на окно натянул bitmap текст поверх него напишется? |
|
|
Дата: Авг 28, 2003 04:19:53 Текст скользит поверх BMP или вместе с BMP? В первом случае надо прорисовывать часть битмапа перед каждым сдвигом текста. Можно задать таймер (на 1сек. или меньше) и при каждом WM_TIMER затирать ту часть, что с текстом (InvalidateRect, например); восстановить недостающую часть BMP; отрисовать текст с прозрачным фоном. Если всё это грамотно проделать, мерцания быть не должно. |
|
|
Дата: Авг 28, 2003 11:54:07 Quantum А если вывести текст на контекст в памяти, а потом выводить его функцией BitBlt с последним параметром равным PATINVERT? |
|
|
Дата: Авг 28, 2003 15:10:19 А вообще может лучше двигать bitmap с заранее написанным на нём текстом? Но вроде так ещё хуже будет.. |
|
|
Дата: Авг 28, 2003 20:05:41 pas Попробуйте, хотя TextOut довольно шустро работает (AFAIK) и особого выигрыша заметно не будет. Asterix Если у тебя уже есть более-менее рабочий вариант сего дела, намыль его мне на cpp_master#ukr.net |
|
|
Дата: Авг 28, 2003 20:42:36 Quantum Если б у меня был рабочий вариант ;-) Сейчас у меня есть только окно, на него загружен bitmap, убирается оно по клику мышки на нём(WM_LBUTTONDOWN), на этом пока всё :-) Разбираю старинные примеры анимации что у меня есть, но ни один толком не подходит :( |
|
|
Дата: Авг 28, 2003 21:47:48 Сейчас у меня есть только окно, на него загружен bitmap Ладно, мыль как есть. |
|
|
Дата: Авг 28, 2003 21:59:28 Отправил ;-) А чем еще можно стирать текст кроме FillRect? |
|
|
Дата: Авг 28, 2003 22:03:16 InvalidateRect InvalidateRgn и ждать WM_PAINT ... или просто рисовать поверх битмапа. Щаз гляну. |
|
|
Дата: Авг 28, 2003 22:05:51 Asterix BitBlt с последним параметром равным PATINVERT в первый раз прорисовывает текст, а во второй (если выводить этот же текст) убирает текст восстанавливая рисунок под ним. Quantum Я прав? |
|
|
Дата: Авг 28, 2003 22:58:58 · Поправил: Quantum pas Я прав? Интересный подход... я об этом не подумал. Asterix Я тут набросал черновой вариант. Если воплотить идею pas, мерцания вообще не будет! [убрал...] |
|
|
Дата: Авг 28, 2003 23:29:36 · Поправил: Asterix Quantum Ну кто ж исходник вот так на общее обозрение выкладывает ;-) Уж лучше мылом :) Я бы сказал, что текст не мерцает а дергается, это плохо :( но все-таки он движется ! Спасибо! Неплохо бы было чтоб текст выплывал из воображаемой границы и заплывал опять за границу внизу.. |
|
|
Дата: Авг 29, 2003 03:17:11 Asterix Я бы сказал, что текст не мерцает а дергается У меня он плавно плыл... хотя я уже писал, что без offscreen буфера проблемы с мерцанием избежать трудно. Попробуй воплотить совет pas. Неплохо бы было чтоб текст выплывал из воображаемой границы и заплывал опять за границу внизу Ну... это ж тривиально осуществить. В чём собственно проблема? |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.037 |