Android 我有3个相同的位图,如何在中间和中间绘制一个位图
我有一个圆类,它有一个绘图函数,,, 我有一个视图类,它创建了3个带有3种不同颜色的圆,, 我在屏幕上成功地画出了圆圈,1在左边,1在中间,1在右边。。。 圆的高度几乎是相同的高度与小的不同Android 我有3个相同的位图,如何在中间和中间绘制一个位图,android,bitmap,Android,Bitmap,我有一个圆类,它有一个绘图函数,,, 我有一个视图类,它创建了3个带有3种不同颜色的圆,, 我在屏幕上成功地画出了圆圈,1在左边,1在中间,1在右边。。。 圆的高度几乎是相同的高度与小的不同 O O O 想象这3个球,但高度较小(当球向左或向右移动时,它们相交)。 现在我的问题是,我试图把球移到右上角,移到左上角,同时把左下角的球移到右上角,我看到两个球都出现在中间的球上面,但我想要的是,顶球出现在中间球的后面,最后一个球出现在中间球的上方,就像现在一样,我怎么能做到这一点呢 编
O
O
O
想象这3个球,但高度较小(当球向左或向右移动时,它们相交)。
现在我的问题是,我试图把球移到右上角,移到左上角,同时把左下角的球移到右上角,我看到两个球都出现在中间的球上面,但我想要的是,顶球出现在中间球的后面,最后一个球出现在中间球的上方,就像现在一样,我怎么能做到这一点呢
编辑:::
public class picture {
private Bitmap bitmapPicture; // the actual bitmap
private int x; // the X coordinate
private int y; // the Y coordinate
...
public void draw(Canvas canvas,Paint paint) {
canvas.drawBitmap(bitmapPicture, x , y , paint);
}
some functions to move it to the right,, and left...
.....
}
我的观点类:
public class GamePanel extends View implements Runnable{
private Picture[] picture;
.....
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
for(int i=0;i<cupsNumber;i++){
cup[i].draw(canvas,paint);
}
invalidate();
}
}
public类GamePanel扩展视图实现可运行{
私人图片[]图片;
.....
受保护的void onDraw(画布){
super.onDraw(帆布);
油漆=新油漆();
对于(int i=0;i,您可能需要自己管理位图
用于绘制位图的视图
类实际上应该是覆盖onDraw()
的视图
的子类。示例:
public class myCircleDrawer extends View {
Bitmap circle1, circle2, circle3;
@Override
public void onDraw(canvas c) {
c.drawBitmap(bitmap1);
}
}
尝试阅读Canvas
文档,学习更改位图(x,y)坐标的方法,以便移动它们
编辑:
好的,现在我明白了,如果你想做的是一个游戏,我建议你检查SurfaceView
和SurfaceView.Renderer
。这背后的原因是你需要自己管理对draw()
函数的调用,而不是覆盖onDraw()
;更新实体属性后,所有这些都会发生