繁体   English   中英

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

[英]Make a class that can be drawn to a Canvas

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

你可以包装一个可以绘制到Canvas ,比如RectBitmap等。然后在Canvas上绘制它你会调用canvas.drawRect(myRectWrapper.getRect())

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

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

为什么不在你的类中创建一个方法void drawToCanvas(Canvas canvas)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM