SDL-2 意味着您使用 opengl 来渲染图块。使用混合和颜色材料。使用SDL_SetRenderDrawColor、SDL_SetRenderDrawBlendMode、SDL_SetTextureBlendModeSDL_SetTextureColorMod、SDL_SetTextureAlphaMod。
例如画黄色字母:
SDL_SetTextureColorMod(renderer, 255, 255, 0);
要绘制不同的背景,您需要使用带有 alpha 通道的字母。首先,您需要在出现文本的位置绘制背景,然后绘制文本本身。
例如:
//load surface with alpha-channel here
SDL_SetRenderDrawColor(renderer, 0, 0, 255); //set blue background
//draw rect for background here
SDL_SetTextureColorMod(renderer, 255, 255, 0); //set yellow letters
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND);
//draw text here
或 cheeting 版本(如果您不想使用 alpha 混合):
SDL_SetRenderDrawColor(renderer, 0, 0, 255); //set blue background
//draw rect for background here
SDL_SetTextureColorMod(renderer, 255, 255, 0); //set yellow letters
SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_ADD);
//draw text here