Mike
-
10 août 2000 à 01:11
cs_EBArtSoft
Messages postés4525Date d'inscriptiondimanche 29 septembre 2002StatutModérateurDernière intervention22 avril 2019
-
30 juil. 2007 à 09:53
À l'ouverture de mon programme je charge en mémoire TOUT mes sprites pour ensuite placer
sur ma surface 2d (directdraw) mes éléments.
Mais dans mon programme j'utilise comme background une très grosse images (1024*768) qui prend
beaucoup de mémoire. À un certain moment l'image en background change. J'ai un sprite appeller
background1 et un autre sprite appellé background2.
ex:
'Création de la surface de 'Background1'
Set Background1 = Nothing
Ddsd_Background1.lFlags = DDSD_CAPS
Ddsd_Background1.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
Set Surf_Background1 = DD.CreateSurfaceFromFile(Path + "Background1.bmp", Ddsd_Background1)
'on détermine la couleur de transparence pour le blit
key.low = RGB(10, 0, 0)
key.high = RGB(10, 0, 0)
Surf_Background1.SetColorKey DDCKEY_SRCBLT, key
'Création de la surface de 'Background2'
Set Background2 = Nothing
Ddsd_Background2.lFlags = DDSD_CAPS
Ddsd_Background2.ddsCaps.lCaps = DDSCAPS_OFFSCREENPLAIN
Set Surf_Background2 = DD.CreateSurfaceFromFile(Path + "Background2.bmp", Ddsd_Background2)
'on détermine la couleur de transparence pour le blit
key.low = RGB(10, 0, 0)
key.high = RGB(10, 0, 0)
Surf_Background2.SetColorKey DDCKEY_SRCBLT, key
Cela prend beaucoup de mémoire alors j'aimerais seulement avoir un objet background pour charger
une images pour ensuite enlever l'image quand je n'en ai plus besoin et la remplacer par l'autre
fichier bmp.
Pouvez vous me dire la procédure exacte pour enlever et en charger une autre dans mon objet.