Java 如何将两个重叠的位图彼此分开

Java 如何将两个重叠的位图彼此分开,java,android,eclipse,bitmap,Java,Android,Eclipse,Bitmap,我在游戏中遇到了2个位图的问题。它们相互重叠,我不知道如何把它们分开。有什么想法吗,伙计们 这是我的游戏截图。框中突出显示的是我重叠的对象 这就是我的游戏代码 // taya kspeed = kspeed - 20; int height = taya.getHeight() & spikeweed.getHeight(); canvas.drawBitmap(taya, kspeed, (15 * sy / 19) - height /

我在游戏中遇到了2个位图的问题。它们相互重叠,我不知道如何把它们分开。有什么想法吗,伙计们

这是我的游戏截图。框中突出显示的是我重叠的对象

这就是我的游戏代码

// taya
        kspeed = kspeed - 20;
        int height = taya.getHeight() & spikeweed.getHeight();
        canvas.drawBitmap(taya, kspeed, (15 * sy / 19) - height / 2, null);
        if (kspeed < 0) {
            kspeed = sx;
            health -= 25;
        }           
        int width = spikeweed.getHeight();
        canvas.drawBitmap(spikeweed, kspeed, (15 * sy / 17) - height / 2, null);
        if (kspeed < 0) {
            kspeed = sx;
            health -= 25;
        }
其中,我的代码中指示的sy是sy=display.getHeight、kspeed=x/4和x=0


Taya和Spikeweed是我的两个目标。

你想要的结果是什么?你想让他们并排在一起吗?你想控制哪一个渲染在另一个之上吗?我希望它们并排渲染。canvas并不知道你在绘制单个的“实体”,它只是盲目地绘制你发送给它的位图,因此你必须修改每个位图的x和y坐标,以确保它们位于正确的位置。从您的代码中我可以看到,它们的x坐标似乎是由kspeed定义的,而且由于您的两个实体使用相同的值,这就是它们重叠的原因。我刚才更改了这一点。当我改变值时,它只是上升或下降,然后你改变它的y值而不是x。您可以在此处查看drawBitmap方法采用的参数: