| Masacre Ant |
26.12.2004 17:36
Сообщение
#1
|
|
Гость |
Каким образом можно в программу на Паскале засунуть картинку?
И в каком формате она должна быть? Сомневаюсь, что можно просто нарисовать в Paint'е цветной кубик и всунуть его например коммандой LoadImage('kubic.bmp')... Это же ведь не так делается, может кто нить мне поможет, и объяснит на простеньком примере: ----------------------------------------------------------------------------------------------- -Где надо рисовать картинку? -Как ее отобразить на экране с помощью Pascal(что для этого нужно?), а еще лучше: -Как ее еще потом подвигать туда сюда, хотя бы просто без участия юзера(тобишь не управляя с клавы...)? Помогите ПЛЗ!!! :molitva: |
![]() ![]() |
| Бродяжник |
28.12.2004 9:30
Сообщение
#2
|
|
Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 206 Пол: Мужской Репутация: 3 |
Если речь идет о стандартных GetImage и PutImage, то если в GetImage при каждом вызове указывать одну и ту же переменную, в которую мы сохраняем картинку, то, конечно же, хранится будет только одна, последняя из сохраненных картинок. Под каждый спрайт, который мы хотим хранить, нужно выделить отдельную переменную. По поводу перемещения картинок по фону: юзая Graph.TPU, лично я не нашел ничего лучшего, чем проделывать следующую последовательность шагов:
1. Сохранять участок экрана в месте вывода спрайта (GetImage) 2. Выводить подложку под спрайт - маску спрайта, где прозрачный цвет заменен черным, а любой непрозрачный цвет - белым. При этом выводить ее нужно в режиме ORPUT. В итоге, там где должен будет выводится спрайт, появится его белый контур, а фон не изменится. 3. Выводить сам спрайт поверх подложки; при этом прозрачный цвет нужно заменить белым, и выводить спрайт в режиме ANDPUT. В итоге сквозь белый цвет спрайта пробьется фон, а на белом фоне подложки отобразится сам спрайт. 4. После временной задержки восстанавливаем сохраненный участок экрана. Для реализации сей схемы я делал так: 1. Рисовал спрайт в своем пиксельном редакторе. При этом какой-то один цвет объявлялся прозрачным. 2. Этот спрайт обрабатывался программкой, которой генерила два новых спрайта: один - спрайт подложки, заменяя прозрачный цвет черным, а все остальные - белым, и "верхний" спрайт, заменяя прозрачный цвет белым. Работать это работает, но, вообще-то, BGI - жутко тормозная вещь. Стоило бы написать что-то свое, нормальное, быстрое... но я этого не потяну. Да и зачем, если есть ОпенГЛ? |
Masacre Ant Блин вот все не могу догнать как вы грузите 26.12.2004 17:36
Masacre Ant И еще...
Как заставит по нормальному двигаться на... 26.12.2004 17:50
GoodWind
ошибаетесь, Oleg_Z выкладывал на форум (воспользу... 26.12.2004 17:56
volvo Вот что я не могу догнать - зачем на форуме поиск?... 26.12.2004 17:58
Dark Мя решил немного помочь =)
выкладываю свои экспер... 27.12.2004 3:19
Dark Сама игра. Модули попробую в архиве пихнуть в рар ... 27.12.2004 3:42
Dark Вопросы? 27.12.2004 3:51
Dark У этой вещи есть один недостаток - писалась давно,... 27.12.2004 3:57
Altair offtopнаписал 3 отличных модуля -
1. вывод и сохра... 27.12.2004 15:50
MasacreAnt Гы пасиб конечно, а вот как я из пайнта суну 24бит... 27.12.2004 21:27
Altair
так ты 16 цветную запихивай :) 27.12.2004 21:35![]() ![]() |
|
Текстовая версия | 9.12.2025 18:36 |