【发布时间】:2013-02-22 08:04:52
【问题描述】:
我是 Android(以及 Java)的新手,我正在制作一个简单的游戏。我被卡住了。
我的问题是这样的:
我有 2 张 png 图像(背景和前景)在启动时占据了整个屏幕。我现在希望能够将前景的“绘制部分”的宽度设置为 ON_DRAG 的 x 坐标。我的控制方法效果很好;它是这样使用的:
g.drawRect(0, 0, scene.getLine(), g.getHeight(), Color.GREEN);
scene.getLine() 返回触摸的 x 值。所以此时我可以在我的图像上方绘制一个绿色矩形。但我真正想要的是让这些矩形尺寸在我的顶层 png 中“打一个洞”(这样背景就会显示在下面)。我不想缩放前景。
我尝试过 clipRect,但它不起作用,因为我还有其他图像需要在这两个之上绘制,而 clipRect 阻止了这种情况。我查看了一堆“PorterDuffXfermode”代码,但无法理解如何将其应用于我的情况,并且无法使其工作。即我可以使用 PorterDuff“SRC”模式集进行绘画,但我不知道如何定义“源”和“目标”图像,因此绘画将发挥其魔力。最后一个考虑因素是,即使 PorterDuff 可以工作,我不确定它是否实用,因为我希望这个东西以 60fps 运行。
有什么建议吗?
谢谢。
【问题讨论】:
标签: android graphics transparency