2

I am creating a application using Game Maker 8 and it has a zoom feature, where you can zoom in and out using the scroll wheel. For now, I am using a simple formula of adding or subtracting 10% of the zoom. It works well at small scales, but it takes to much time when you zoom in highly.

I tried to look into know applications and see how they do the zooming, but it seems they use a set of predetermined zoom factor that you scroll to - that is, you always go from 100 to 75, 50, 33, 25 and 12,5%. As far as I know there is no formula that makes those numbers in order.

Should I just make it a pretermined set of numbers or should I use some formula? What other applications are doing?

1 Answers1

2

In my opinion zooming to a predefined factor will become pretty intuitive for the users regardless of the responsiveness of your app, e.g. I know that zooming three steps down from 100 gets me to 33, I zoom subconsciously.

If you're thinking about some steps, I'd revert to mathematical rules, e.g. exponential, logarithmic, golden ratio, etc. Applying the latest gives you stops at (100; 61; 37; 22; 13; 8).

However, if you want to stick to proposed values, you can use the following formula - cycle through values between 8 and 1 and your zoom factor is n/8. When stepping down, the new = Floor(3/4 * previous), when stepping up, new = Ceil(4/3 * previous). This gives you steps at (100; 75; 50; 37,5; 25; 12,5)

Mike
  • 3,125
  • 1
  • 13
  • 28