2011-07-23 55 views
0

我正在开发一款安卓游戏。我有一个具有扩展视图和绘制所有内容的自定义类的活动。一切工作正常,我已经实现了绘制关卡的方式,看起来不错。在游戏滚动和缩放中

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

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

我一直在环顾四周,看到一些非常简单的教程,但他们都处理放大/缩小不是我所需要的图像。我的级别使用许多不同的位图呈现,因此我知道在更新屏幕(缩放或滚动)时我需要重新绘制它们。

我的情况与具有单个图像相同。当涉及到滚动时,我认为需要做的是计算屏幕被“移动”多少,然后用新的缩放坐标更新和重新绘制视图位图,这是正确的吗?放大怎么样?

任何帮助将不胜感激。由于

回答

0

变焦应该很容易,一旦你已经检测到您当前的(缩放级别即)

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

一些地方一样,应该可以帮助你缩小/图像上。当缩放级别超过某个级别时,可以考虑换出更详细的图像,即当前正在渲染的图像。