Je me suis arraché les cheveux sur la façon de faire cet effet simple. J'ai une image (voir ci-dessous), et quand cette image est utilisée dans un jeu, elle produit une transition dans le sens des aiguilles d'une montre vers l'effet noir. J'ai essayé de recréer cet effet dans SDL (2) mais en vain. Je sais que ça a quelque chose à voir avec le masquage mais je ne sais pas comment faire ça en code. Le plus proche que j'ai pu obtenir était en utilisant "SDL_SetColorKey" et en incrémentant les valeurs RVB de sorte qu'il pas dessiner la partie "essuyage" de l'animation.Transition/effacement animé en utilisant SDL2 et un masque noir/blanc?
Uint32 colorkey = SDL_MapRGBA(blitSurf->format,
0xFF - counter,
0xFF - counter,
0xFF - counter,
0
);
SDL_SetColorKey(blitSurf, SDL_TRUE, colorkey);
// Yes, I'm turning the surface into a texture every frame!
SDL_DestroyTexture(streamTexture);
streamTexture = SDL_CreateTextureFromSurface(RENDERER, blitSurf);
SDL_RenderCopy(RENDERER, streamTexture, NULL, NULL);
J'ai cherché partout et je suis maintenant juste désespérément une réponse pour mon propre curiosity- et le bon sens! Je suppose que cette question n'est pas exactement spécifique à SDL; J'ai juste besoin de savoir comment penser à ça!