[英]SDL : blitting on background instead of screen?
嗨,我正在開發SDL / C游戲,我使相機滾動時具有大背景(6000 * 1024)和(1024 * 768)屏幕,
game.screen = SDL_SetVideoMode( SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_BPP, SDL_SWSURFACE );
所以,如果我想在屏幕上顯示某些內容,請按以下步驟操作:
apply_surface( xxx, yyy, map.BALL, game.screen, NULL );
它會在移動時跟隨攝像機移動 ,但對於仇恨的情況則並非如此,它們應該在背景而非屏幕上移動!
因此,如果我將背景中的某些東西作為目的地,我會有一個問題,
apply_surface( xxx, yyy, map.BALL, map.background, NULL );
作為以下圖片移動時, 舊圖像會保留在背景上 :
首先,我必須說,您實現相機滾動的方式非常繁瑣。 我建議您考慮到攝像機的位置,直接將對象直接繪制到屏幕表面。
如果要堅持使用計划,則應在重新繪制背景之前清除背景。 可以使用命令SDL_FillRect來完成。
// Replace 101, 102, 103 with the background color you want
SDL_FillRect(map.background, NULL, SDL_MapRGB(map.background->format, 101, 102, 103));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.