In a 2D iPhone game I played recently,
iris wipe effect was simply done using full screen sprites with some transparency :
These pictures are simply draw over the screen once everything else have been draw (like hud, background, ...).
You can easily build theses pictures in
flash or whatever 2D program you have.
You can also do it "realtime", by using 2D primitives that are available in your framework (you dont specify any).
Here is an example in opengl (un-tested) :
void drawIris(float inner_radius)
const float outer_radius = 300.0f; //something big enough to cover whole screen
for (int i = 0; i < 360; i++)
float degInRad = i * DEG2RAD;
glVertex2f(cos(degInRad) * inner_radius, sin(degInRad) * inner_radius);
glVertex2f(cos(degInRad) * outer_radius, sin(degInRad) * outer_radius);
//to change the way iris animation is done,
//you can replace this function by something else like smoothstep() function
float lerp(float a, float b, float t)
return a * (1.0f - t) + b * t;
drawIris(lerp(0.0f, 50.0f, time));
Here is how it works :
We draw a open circle with an outer radius bigger than the screen. Everything outside the screen will automatically be clipped by opengl. Inner radius is aperture size of iris.