ios - 如何在 IOS 中平滑地缩放图层以将对象保留在屏幕上?

标签 ios math object scale visible

我正在开发一款游戏,球被击中后可以离开图层的可见区域。我在每一帧中设置球的位置,因为我从 Box2D 获得有关其位置的反馈。当球接近屏幕边缘时,我想缩小适量以保持球可见。有人可以帮助我了解执行此操作的逻辑吗?谢谢。

最佳答案

假设屏幕大小为 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

这将演示“缩小”,因为球会不断变小,以确保行进的总距离适合屏幕的大小。

关于ios - 如何在 IOS 中平滑地缩放图层以将对象保留在屏幕上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7181109/

相关文章:

javascript - 将数组转换为包含对象

algorithm - 找到小于数字的最大 x^y

performance - 获取第 i 位 - % 还是 & 更快?

java - 将 java.util.GregorianCalendar.toString() 重新转换回 GregorianCalendar

ios - 在使用 Xcode 进行 UI 测试中,如何控制点击 UIButton 以准备下一步操作后的时间

java - 为什么我的int是0?

javascript - 我想从 javascript 中的 json 对象中搜索字符串

ios - 当某个类被添加到自动释放池时,我可以创建 Xcode 断点吗?

objective-c - UIButton 点击​​没有响应

ios - 如何在 Xcode 8 中重新排序 UITabBarController 中的关系序列