Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在游戏中滚动和缩放_Android_Scroll_Zooming - Fatal编程技术网

Android 在游戏中滚动和缩放

Android 在游戏中滚动和缩放,android,scroll,zooming,Android,Scroll,Zooming,我正在开发一款android游戏。我有一个活动,它有一个自定义类,可以扩展视图并在其中绘制所有内容。一切都很好,我已经实现了一种方法来绘制水平,它看起来很好 我所遇到的问题是,对于一个屏幕来说,这些级别显然太大了,重新设计它们不是一个选项,因为它会影响用户体验。我看到的唯一解决方案是使屏幕可滚动,以便可以在渲染的内容周围移动和缩放。我要找的是双击任何地方进行放大和缩小,并滚动在地图上移动 我需要帮助的是如何做到这一点。我知道如何检测用户是否已滚动或双击,但我不知道如何放大、缩小和滚动(如果检测到

我正在开发一款android游戏。我有一个活动,它有一个自定义类,可以扩展视图并在其中绘制所有内容。一切都很好,我已经实现了一种方法来绘制水平,它看起来很好

我所遇到的问题是,对于一个屏幕来说,这些级别显然太大了,重新设计它们不是一个选项,因为它会影响用户体验。我看到的唯一解决方案是使屏幕可滚动,以便可以在渲染的内容周围移动和缩放。我要找的是双击任何地方进行放大和缩小,并滚动在地图上移动

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

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

我的情况是否与拥有一张图像相同。当涉及到滚动时,我认为需要做的是计算屏幕被“移动”了多少,然后更新视图并用新的缩放坐标重新绘制视图位图,对吗?放大怎么样


任何帮助都将不胜感激。谢谢

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

类似的东西应该可以帮助您缩小/放大图像。当缩放级别跨越一定级别时,可以考虑将与当前正在渲染的图像更详细的图像交换。

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