iphone style flick screens in levelselect menu

I have more levels than can be displayed on one level select screen comfortably. I want to make a level select screen where I can flick to the left and just as in the iphone home screen, level buttons already on the screen move left and new buttons take their place.

I’m stumped as to how to do it in unity? Can anybody help? Thanks a lot!

For interfaces like this one, I use EZGUI. There is a significant learning curve to EZGUI, but it provides a lot of resources for building interfaces.

As for creating one from scratch, you can parent all of the icons to a single game object, then you can move the parent object to match the finger movement. This doesn’t take a lot of code. What takes a lot of time is figuring out all the fit and finsih stuff…having the screen continue to slide on a swape, having the screen bounce when it reached the end, tab stops for each page, etc.

One way to match finger movement to game object movement is to create a plane (from the Plane class not a game object plane) at the position of your icons. Then you can get positions with something like:

float dist;
Ray ray = camera.ScreenPointToRay (v3Pos);
plane.Raycast(ray, out dist);
Vector3 position = ray.GetPoint(dist);

You can get the position when the user first clicks the mouse or touches the screen and then match the horizontal position as the user move the cursor or finger.