SDL에서 가짜 "폭발"효과를 만들고 싶습니다. 이를 위해 현재 화면이 사라지고 흰색으로 사라지게하고 싶습니다.SDL 투명 오버레이
원래 내가 지금처럼 (explosionTick는 현재 알파 값) SDL_FillRect를 사용하는 방법에 대한 생각 :하지만 그 대신 사각형 페이딩 역의
SDL_FillRect(screen , NULL , SDL_MapRGBA(screen->format , 255, 255 , 255, explosionTick));
를, 그것은 알파 없음 완전히 흰색 표시됩니다. 이가 둔화되고 결국,
for(int a=0; a<explosionTick; a++){
SDL_BlitSurface(boom, NULL, screen, NULL);
}
을하지만 : 다른 방법은 I (1의 알파 값) 투명한 흰색으로 채워진 전체 화면 비트 맵을 사용하여 참여했는데,과 같이 각 explosionTick에 대해 한 번 블럭 전송 실시간으로 실행됩니다. 성능 저하없이이 효과를 얻는 쉬운 방법이 있습니까? 시간 내 주셔서 감사합니다.
1보다 큰 알파 값을 사용합니까? 덜 매끄럽지 만 빠를 것입니다. – Alink
알파 증가분을 1보다 크게 사용하는 것은 이미지 메서드에서 작동하지만, 미리 제작 된 이미지를 사용하는 것과는 다른 방법이 있었으면합니다. – Shalmezad