在游戏中滚动和缩放

时间:2011-07-23 21:27:42

标签: android scroll zoom

我正在开发一款Android游戏。我有一个活动,它有一个自定义类,可以扩展视图和绘制所有内容。一切正常,我已经实现了绘制关卡的方法,看起来很不错。

我遇到的问题是,只有1个屏幕的级别显然太大,重新设计它们不是一个选项,因为它会影响用户体验。我看到的唯一解决方案是使屏幕可滚动,以便您可以移动渲染的内容和缩放。我正在寻找的是在任何地方双击以放大和缩小并滚动以在地图上移动。

我需要帮助的是如何做到这一点。我知道如何检测用户已滚动或双击,但我不知道我应该做什么来实际放大和缩小并滚动(如果检测到滚动)。

我一直在环顾四周,看到一些非常简单的教程,但所有这些教程都涉及放大/缩小图像,这不是我需要的。我的级别使用许多不同的位图进行渲染,因此我知道在更新屏幕(缩放或滚动)时需要重绘所有级别。

我的情况与单张图片相同吗?在滚动方面,我认为需要做的是计算屏幕被“移动”多少然后用新的缩放坐标更新和重绘视图位图,这是正确的吗?缩放怎么样?

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:0)

一旦检测到您当前所处的位置(缩放级别即),缩放应该很容易。

image.setBounds((getWidth()/2)-zoomControler, (getHeight()/2)-zoomControler, (getWidth()/2)+zoomControler, (getHeight()/2)+zoomControler);

这样的东西可以帮助你缩小/缩小图像。当缩放级别超过某个级别时,您可以考虑交换一个比您当前渲染的图像更详细的图像。