0

我是 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 运行。

有什么建议么?

谢谢。

4

1 回答 1

1

您可以canvas.save()在剪辑之前和canvas.restore()绘图之后调用以将画布恢复到您凝视之前的状态。然后,您可以绘制其他图像。

于 2013-02-22T08:09:16.650 回答