这个任务看起来相当简单,但我不知道在 Android 中实现它的最佳方式是什么。
它应该是什么样子
屏幕上应该有许多图像(假设最多 4-5 个),每个图像都有一个 FrameAnimation 作为背景,它是 oneTime(false)(代表一个正在奔跑的人)。这些图像中的每一个都需要有一个随机路径来跟随屏幕,这是在首次创建时计算的。所以奔跑的人会朝不同的方向绕过屏幕。每个图像都有一个 onClick 监听器,因此当单击它时,它将从屏幕上删除。
在从 1.6 开始的 Android 中执行此操作而不会导致性能下降或位图内存泄漏的最佳方法是什么?
我附上一张图片作为示例。谢谢大家的宝贵时间。
稍后编辑:最好的解决方案似乎是使用扩展的 SurfaceView。我看到了一些添加、移动图像的示例,但我还不知道如何拦截 onTouchEvent。我可以覆盖 surfaceView 的 onTouchEvent。我现在想到的解决方案是获取触摸点的 x 和 y,然后查看动画图像中是否有 x、y 按下点。这看起来很复杂。
最佳答案
每个奔跑的 Sprite 都有自己的矩形坐标;左上角和右下角。您需要做的就是遍历您的 sprite 并查看用户是否触摸了 x 和 y 在 sprite 的矩形内的点。
但是,您还必须同步一些代码块...
关于android - 在 Android 中的随机路径上为 imageview 设置动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5087926/