Jag håller på att försöka göra ett spel där en person kastar iväg bananer och en annan springer och fångar. Jag flyttar nu bilderna med att förändra .left och .top men detta gör att bilderna flimmrar väldigt mycket. Jag har hört att det kan förbättras med bitblt men vet inte hur detta kan användas. Kan någon förklara detta för mig? För det första, vilket programmeringsspråk använder du?. Jag antar att du använder visual basic 6.0. I visual basic 6.0 flimmar bilderna mycket när man flyttar den som transparant. I VB.net gör den inte det. Själv har jag inte lyckats få bort flimmert i transparanta bilder med 6.0. Tack för svaret. Du har gissat rätt att jag använder vb 6.o. Jag har tyvärr inte möjlighet att byta program att arbeta i. Nu var det ett tag sen jag höll på med bitblt men jag har för mig att det inte blir 100% flimmerfritt ändå. För att få det helt fritt från flimmer så måste du nog köra med "dubbel-buffer" eller vad det hette. Principen är i alla fall att du ritar upp varje enskilt objekt till en buffer och när allt är utritat så ritar du ut hela buffern som en bild till skärmen. http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=6607&lngWId=1 Även om du använder BitBlt så måste du använda dubbelbuffring för att helt slippa undan flimmer.Flimmer i spel
Sv: Flimmer i spel
Om du kör vb 6.0 så tipsar jag dig att byta till VB.net gör spelet i GDI+ utan picturebox kontroller (de tar väldigt mycket RAM)Sv:Flimmer i spel
Sv: Flimmer i spel
Du kan säkert hitta något vettigt om du söker efter bitblt i forumet: http://www.pellesoft.se/search.aspx?lstarea=2&search=bitblt
ThomasSv: Flimmer i spel
"Don't forget to copy the Win32.tlb in your windows/system"
Kanske hjälper dig en del.. om du jobbar med transparanta bilder =]Sv: Flimmer i spel
Det går ut på att du inte ritar direkt till skärmen utan ritar upp hela din bild i en bitmap (dvs som inte syns) och som du sedan blittar (t.ex. med BitBlt) till skärmen.
Detta är en teknik som används i stort sett alla spel och implementeras i hårdvara så gott som alla grafikkort (dock behöver du då använda OpenGL eller DirectX).
Se http://www.planet-source-code.com/vb/scripts/ShowCode.asp?txtCodeId=36053&lngWId=1 för en tutorial om hur du gör detta med BitBlt och VB.
Lycka till.
/Andreas