繁体   English   中英

Android 围绕公共枢轴点旋转一组位图

[英]Android Rotating a set of bitmaps around a common pivot point

我正在尝试创建一个像 Jigsaw Puzzle 这样的游戏。 我正在使用一个扩展 View 的类,在它的 draw 方法中,我正在绘制不同的位图片段。 当用户点击位图时,我将该位图旋转 90 度角。 它的工作完美。 但是用户组合一些位图块然后旋转组,位图围绕其中心点旋转,破坏了组结构。

我的问题是如何围绕公共枢轴点旋转一组位图,以便当一组位图旋转时,它保留其形状结构?

我假设您将每个部分都放在中心位置,这会导致您的问题。

一种可能性是让背景成为中心加权对象,或者查看背景并将中心声明为旋转点。

然后,计算每个拼图块的近似框大小(根据您是否使用 Zoom,这可能是动态的)。 找出它在屏幕上的位置作为 Draw() 中的位图对象。

现在,想象一条从屏幕中心到边缘的线被旋转以获得您的角度。

因此,根据这些新信息,您需要根据屏幕旋转中心设置的角度来计算每个中心加权对象(拼图)的新角度。 由于屏幕中心设置了新的线或旋转角度,因此每个部分都将在其轴上具有不同的旋转角度。

这更像是一种算法/计算而不是编程,关于您的问题的更多细节会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM