我正在尝试制作一个黑屏的游戏,当您滑动屏幕时,您触摸的黑色部分将消失并在其后面显示图像。目的是保持扫描,直到你可以猜出图像是什么。
我见过其他应用程序。我坚持要怎么做。我的想法是通过更改pixcel来修改位图。但是我没有看到任何获取位图内存的方法,或者可能还有另一种方法可以做到这一点????
答案 0 :(得分:2)
实现这一目标的一种方法是让您的位图像任何其他图像一样绘制,并且在它之上您将拥有一个可编辑的黑色位图(您可以使用draw()来查看,在Paint类上查找文档) ,当用户滑动时,您记录路径,并使用画笔在黑色位图上绘制透明像素,以便下面的图像可见。
最后一部分几乎与实现一个简单的绘图应用程序相同,所以不难发现。
答案 1 :(得分:1)
一个潜在的解决方案是使用copy
方法创建图像位图的副本。这样您就可以对图像进行修改。
然后用黑色方块遮盖图像。当用户在图像上擦拭手指时,您需要记录他们遵循的路径并根据此创建遮罩图像。使用该掩码,您可以浏览原始图像,并仅在滑动路径未覆盖的区域中使图像变黑。
可能值得查看Paint
课程。
答案 2 :(得分:0)
您可以使用ViewPager
,但我怀疑这不是您想要的滑动效果类型。然而,这是一种简单的方法。 ViewPager
广泛用于股票Android应用程序。看看Play Music如何让您在最近/专辑/ ...视图之间滑动。你可以看到它更多的是分页(与滑动)效果。
您可以使用ImageSwitcher
,并为输入/输出效果添加动画。这是一篇SO文章,讨论如何将它与动画一起使用,
Setting animation ImageSwitcher will run (in_left or out_right)
然而这不太好用,因为在检测到滑动后触发动画...动画不会跟随滑动。
如果你不喜欢这些,你很可能会写一些OpenGL代码来获得你想要的东西。