views:

361

answers:

4

When you drag an iphone GUI element like a list, it scrolls in a physics correct way, and also has a nice bounce effect at the end. I would like to write a GUI element in my game, without using UIKit. I wonder where is the code implementing this, and if I can use it instead of trying to write something similar. Any ideas?

A: 

You can perhaps use animations to achieve this, you can define animation paths for bouncing or doing whatever it is you need and activate them when needed. I think the example project MoveMe can help you out

Daniel
A: 

I can recommend the O'Reilly book "Physics for Game Developers" by David Bourg, which has great coverage of algorithms and code for all sorts of simulations. You probably want to start with motion affected by drag for the flick and gradual slowing, then look at a spring model to simulate the damping at the end.

gavinb
A: 

box2d is an open source project that provides a great 2d physics engine. this library is used by Intel clutter, which is a nice physics oriented UI library that is capable of running on mobile devices. that means that box2d is already optimized for mobile platforms like the iphone.

uri brecher
Box2D won't give you an effect like that. You wouldn't use Box2D unless you were okay with the menu items individually collapsing over each other into a big heap. It's good at that.
Chris Burt-Brown
+1  A: 

Hi,

I think that a physics engine would be overkill for just animating a gui element (unless you already have a physics engine in your game).

You could try using animations but I've no experience of doing this without UIKit but I suppose you would start here?

If you didn't want to use Core Animation, I would take a look at Robert Penner's easing equations - they're in actionscript but are pretty simple to port to C and would be a good start to get your own animation code started.

Hope this helps,

Sam

deanWombourne