0

我制作了一款可从 Market Today 下载的游戏(称为Block Crusher)。由于最近出现了越来越多的 HoneyComb 平板电脑,我想让我的游戏兼容这些平板电脑。

但是当我尝试在摩托罗拉 Xoom 上运行我的游戏时遇到了一些问题。

在这个游戏中,我有一个自定义视图。此视图将游戏板绘制到屏幕上。它以不同的颜色绘制块。当您单击它们时,您会破坏块,其余的会掉下来。

在预蜂窝设备上,这可以正常工作。在摩托罗拉 Xoom 上我有绘图问题。不知何故,积木的旧位置并没有消失,这使得积木很长,而不是掉下来。(不确定我是否把它写下来是可以理解的,但我希望如此)。

我什至在我的绘图函数中添加了以下代码,以在画布上绘制新框架之前完全擦除画布:

@Override
public void draw(Canvas canvas)
{
    // Disable super.draw call to make the control transparent.
    // super.draw(canvas);

    // Clear the entire screen before starting drawing.
    mTransparantPaint = new Paint();
    mTransparantPaint.setColor(0x00000000);
    canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), mTransparantPaint);

但不知何故,当块掉下来时,我在重绘时遇到了一些问题。

任何人都知道为什么我在 Honeycomb 上遇到这个问题?与 HoneyComb 的硬件加速 2D 图形管道有什么关系?我没有为此启用或禁用任何东西。

如果您有 Honeycomb 平板电脑并想查看问题,可以从http://peerke.no-ip.info/morbur/Svn-267.1/MorburActivity-release.apk下载开发版本

4

1 回答 1

0

我发现在 Honeycomb 上总是需要 super.draw(canvas) 。这在以前版本的 android 中没有出现问题。

于 2011-08-14T10:22:44.897 回答