创建一个可以绘制到Canvas的类

时间:2011-11-11 11:25:31

标签: java android canvas

我正在尝试制作一些类似于Android游戏的反射,它会在随机位置绘制圆圈,用户必须尽快点击这些圆圈。我正在尝试制作和addcircle(int amount)方法,但为此我想重绘同一个类,因为它是圈子扩展然后收缩的想法。所以像canvas.draw(MyCircleClass)这样的东西会起作用。是否可以创建一个可以绘制到画布的类?

2 个答案:

答案 0 :(得分:1)

您可以将可以绘制的类包装到Canvas,例如RectBitmap等。然后在Canvas上绘制它,您可以调用canvas.drawRect(myRectWrapper.getRect()) 1}}。

另一种方法是包装Canvas本身。只要你提供一种方法将你的类转换为某种东西,Canvas可以绘制,你就可以将任何你喜欢的东西传递给它。它看起来像myCanvasWrapper.draw(myClass)。在draw(myClass)内,您的画布包装器会调用canvas.drawX(transformToX(myClass))

最重要的是,在某些时候,您需要调用原始drawX()的{​​{1}}方法,提供其可以处理的类型之一。

答案 1 :(得分:1)

为什么不在班级void drawToCanvas(Canvas canvas)中创建方法?