Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: ТАНЧИКИ!  (Прочитано 5928 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Sandric
Wimdows SUX
Участник

ua
Offline Offline
Пол: Мужской
I hate myself and I wanna die


« : 28-10-2006 09:43 » 

 Привет. У меня небольшая проблема. Задали на курсак сделать на билдере танчики. Я уже сделал карту и сам танчик (ну эт типа мапа с тхт, а танчик - квадратик), и пулю, вот тока оно когда всё время перерисовуется с таймеров в 100 милисек, моргает. А можно сделать так, чтоб не моргало. Мне тут сказали - кода уже буду на битмапы всё менять, то танчик - в монохром, то есть в маску, и как-то там делать "исключаюсчеё или", тока я ничё не понял, и надо пояснить на практике. Если кто знает - напишите пример, типа на форме канфой выводим бэкграунд, а потом двигаем танчик кейдауном, тока без перерисовки, но с маской. Буду признателен. Класс!
Записан

We hate love, we love hate...
Serg
Гость
« Ответ #1 : 28-10-2006 11:21 » 

просто рисовать надо в буфере, а когда происходит прерывание таймера переключать буфер в котором рисовалось на вывод а буфер который служил для вывода переключить на ввод..
или можно не мучится с переключением а использовать быстрое копирование из буфера для рисования в буфер для вывода. Смотри функцию винапи BitBlt. И таймер не нужен, когда отрисовался один кадр тогда и копируй или переключай буфер.
Записан
Paul
Участник

ru
Offline Offline
Пол: Мужской

« Ответ #2 : 28-10-2006 18:11 » 

Sandric, действительно лучше перерисовку делать в памяти, и потом уже выводить готовое изображение на экран
Записан
acc15
Гость
« Ответ #3 : 28-10-2006 23:08 » 

Интересно что ж это за танчики которые GDI юзают... одни квадратики или потом ещё палочки появятся?
Мой совет прочитай и юзай DelphiX (или любой другой подобный компонент). Правда всё переписать придется, но если зашел не далеко, то съэкономишь время раза в 2-3.
« Последнее редактирование: 28-10-2006 23:10 от acc15 » Записан
Sandric
Wimdows SUX
Участник

ua
Offline Offline
Пол: Мужской
I hate myself and I wanna die


« Ответ #4 : 29-10-2006 11:06 » 

Интересно что ж это за танчики которые GDI юзают... одни квадратики или потом ещё палочки появятся?
Мой совет прочитай и юзай DelphiX (или любой другой подобный компонент). Правда всё переписать придется, но если зашел не далеко, то съэкономишь время раза в 2-3.
А чего они юзают, если не GDI? Это ж канва, она его использует, можна там с контекстами и хендлами возится, но кажись, результат такой же, токо с канвой нагляднее. А насчет ДелфиХ, так у меня ж курсак, и танчики я не для своего эстеццкого удоффлетворения пишу, а для препода, я б так вже давно на Флешику, или на ЛивМотьён всё забацал...
просто рисовать надо в буфере, а когда происходит прерывание таймера переключать буфер в котором рисовалось на вывод а буфер который служил для вывода переключить на ввод..
или можно не мучится с переключением а использовать быстрое копирование из буфера для рисования в буфер для вывода. Смотри функцию винапи BitBlt. И таймер не нужен, когда отрисовался один кадр тогда и копируй или переключай буфер.
Пасибо, но нельзя ли пример выклать. Улыбаюсь Здесь была моя ладья... Я просто понимаю, тока кода код увижу, а то , чесно, мне ни в пару, просто ни [CENSORED] ни понятно, чё там про буфер. Я знаю тока, чё там кието специальные функции для копирования, вроде var CopyMode мона менять. Пример простенький, и фсе, зразу все дойдет быстро и лаконично! Класс!
Записан

We hate love, we love hate...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines