Как я могу плавно масштабировать слой в IOS, чтобы держать объект на экране? - PullRequest
0 голосов
/ 24 августа 2011

Я работаю над игрой, в которой удар по мячу может покинуть видимую область слоя.Я устанавливаю положение мяча в каждом кадре, так как я получаю отзывы от Box2D о его местоположении.Когда шарик приближается к краю экрана, я хочу уменьшить только нужное количество, чтобы шар был виден.Может кто-нибудь помочь мне с логикой сделать это?Спасибо.

1 Ответ

1 голос
/ 25 августа 2011

Давайте получим размер экрана 480 (пикселей) с исходным диаметром шарика 10 пикселей.

Original size of ball = bOriginal = 10
Distance represented by screen = s = 480
Distance ball has travelled = x
Diameter of the ball = b = bOriginal

У вас будет флаг, когда мяч достигает определенного расстояния от края экрана. После чего у вас есть скорость, которую вы уже знаете; это также можно рассматривать как скорость, с которой мяч движется к краю экрана, поэтому скорость, с которой экран должен расширяться относительно размера шара, чтобы обеспечить общее расстояние, пройденное мячом, включена в размер экрана.

If x >= 475
  ratio of screen size to distance = r = 480 / (x+5)
  b = bOriginal *  r
end

Это продемонстрирует «уменьшение» в том смысле, что шар будет становиться все меньше и меньше, чтобы гарантировать, что общее пройденное расстояние вписывается в размер экрана.

...