Форум: "Игры";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
ВнизProblema s zagruskoi bitmap-ov is Найти похожие ветки
← →
Delphi 5.01 (2002-08-28 18:51) [0]Privetstvuiu vsex game makerov! Pomogite razobratsa v probleme!
U mena est tipa kod
...
var FLogoImage1 : IDirectDrawSurface7;
...
FLogoImage1:=DDLoadBitMap(FDirectDraw,"Logo1.bmp",0,0);
...
tak nujno zagrujat images v Surface no chto delat esli image-i ne faili a naxodatsa v resursovom faile, kak zagrujat bitmap ponatno no vot v DirectX kak zagruzit bitmap?
v delphi bez directa delau sleduiushee
...
var AModule: THandle;
...
AModule := LoadLibrary("button.res");
Bitmap.LoadFromResourceName(AModule,<названиекартинки1>);
FreeLibrary(AModule);
...
i fotka zagruzilas b BitMap a kak sdelat toje samoe no zafruzit fotku ne v BitMap a v "FLogoImage1"?
← →
Ev_genus (2002-08-28 19:29) [1]Вот этот код находится в начале DDLoadBitMap
//
// Try to load the bitmap as a resource, if that fails, try it as a file
//
hbm := LoadImage(GetModuleHandle(nil), szBitmap, IMAGE_BITMAP, dx, dy, LR_CREATEDIBSECTION);
if hbm = 0 then
begin
hbm := LoadImage(0, szBitmap, IMAGE_BITMAP, dx, dy, LR_LOADFROMFILE or LR_CREATEDIBSECTION);
end;
if hbm = 0 then
begin
Result := nil;
Exit;
end;
Закоментированная надпись гласит:"процедура пытается загрузить картинку из ресурсов, если это невозможно то из файла". Просто вместо имени файла укажи название картинки.
← →
Delphi 5.01 (2002-08-29 08:06) [2]Izveni, no ia nachinaushi i eto moia pervaia igra na drectx, ia ne sovsem ponal, bolee pravilnei ne nashol gde mne nado ukazat v procedure ima moego resursnogo faila, "buttob.res". iskrene budu blagodaren esli obiasnish.
Ogromnoie spasibo za pomosh!
← →
Mirovodin (2002-08-29 10:44) [3]Читай статьи :
http://delphigfx.mastak.ru/2d/014/2d_14.htm и
http://delphigfx.mastak.ru/2d/015/2d_15.htm
← →
Delphi 5.01 (2002-08-29 11:56) [4]Spasibo esli budut voprosi to orashus k vam!
spasibo!
← →
Delphi 5.01 (2002-08-29 12:00) [5]Vso Ok no vezde ukazivaetsa kak zagrujat v bitmap a mne nujno ne v bitmep a v PrimarySurface.
Vozmojno ia oshibaus no me kajetsa IDirectDrawSurface7 i TBitMap eto raznie tipi!
Pojaluista obiasnite esli ia oshibaus!
Spasibo!
← →
Ev_genus (2002-08-29 12:42) [6]Для добавления файла ресурсов к проекту нужно использовать дериктиву компилятора $R. Например:
{$R buttob.res} или
{$R *.res}.
И всё. Все ресурсы из егого файла(ов) будут доступны для чтения под теми именами, под которыми их туда запхали.
Vozmojno ia oshibaus no me kajetsa IDirectDrawSurface7 i TBitMap eto raznie tipi!
TBitMap хранит картинку вместе с свойствами. Способ хранения зависит от битрейта картинки (количества цветов)
IDirectDrawSurface7 хранит спрайт(картинка с прозрачным цветом). Его размер зависит от, установленного при инициализации DirectDraw, битрейта экрана.
← →
Delphi 5.01 (2002-08-29 13:11) [7]1)
{$R buttob.res} или
{$R *.res}.
mena ne ustraivaet, v etom sluchae vso budet kompilirovatsa v odin faisl, a vot mne nujno imet res fail i kogda ponadobitsa vot togada i zagruzit, chto i delaet primer
...
var AModule: THandle;
...
AModule := LoadLibrary("button.res");
Bitmap.LoadFromResourceName(AModule,<названиекартинки1>);
FreeLibrary(AModule);
...
2)
Esli ia vas pravilno ponal to ia mogu delat sleduishe
PrimarySurface:=LoadImage(GetModuleHandle(nil), szBitmap, IMAGE_BITMAP, dx, dy, LR_CREATEDIBSECTION);
esli da to gde ima kartinki i ima faila resursov (ai dumau vi zagrujaesh iz exe faila, kak ia govoril mna eto ne ustraivaet).
3)
Est li tipa takogo
PrimarySurface.LoadFromResourceName(AModule,<названиекартинки1>);
????
4)
ili podskajite luboi logki metot skritia faila ot usera, chtob on ne mog ego otkrit i uvidet chto tam, nu i potom kak zagruzit ego v PrimarySurface!
5)
u mena est odin variant, mojno vse zashifrovat BMP file, no togda pri zapuske nujno iego, kajdi raz razshifrovivat + ia ne zastraxovan ot togo chto v etot moment user otkluchet progu i ia ne uspeu steret razshifrovoni fail!
6)
na posledok, problema teoreticheski ne trudnaia, vse delaut kak to!
Spasibo!
← →
Ev_genus (2002-08-29 13:33) [8]Если надо файл ресурсов хранить отдельно от исполняемого, то читай статьи Мироводина. Для такой проблемы простые ресурсные файлы не подойдут.
Нет можно только так
PrimarySurface:=DDLoadBitMap(FDirectDraw,"<названиекартинки1>",0,0);
TBitMap и IDirectDrawSurface7 - совсем разные типы. Совместимость только через блитинг одного на другой.
← →
Delphi 5.01 (2002-08-29 13:44) [9]Spasibo, togda budu shifrofat pervie 100 baitov BMP faila etogo dostatochno, chtob ego user ne smog uvidet!
Страницы: 1 вся ветка
Форум: "Игры";
Текущий архив: 2003.02.10;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c