尝试清除程序的画布
Posted
技术标签:
【中文标题】尝试清除程序的画布【英文标题】:Trying to Clear canvas for a Program 【发布时间】:2019-03-31 15:32:09 【问题描述】:我正在使用 ObjectDraw 库,我有两种方法可以打印两种不同的模式。我正在使用onMouseClick(Location point)
方法在用户第一次单击画布时打印第一个图案,然后我想在第二次单击时打印第二个图案之前用canvas.clear();
清除画布(依此类推)。
我很难找到一种方法来避免在该方法中同时发生所有事情。我尝试使用布尔变量,但我计划创建更多模式方法,所以我不确定该策略。有什么帮助吗?
这是我的onMouseClick(Location point)
方法在程序中的样子:
public void onMouseClick(Location point)
pattenrOne();
canvas.clear();
patternTwo();
【问题讨论】:
程序具有不同的状态,具体取决于显示的模式。要记住当前状态,变量是最好的选择。对于多种模式方法,您可以使用int
变量而不是 boolean
或变量数组,具体取决于特定用例。
【参考方案1】:
我会将所有模式存储在数组或列表中,并使用int
变量来跟踪点击次数,从而跟踪要绘制的模式。然后,不要使用多种方法来绘制图案(patternOne
、patternTwo
等),而是创建一个 drawPattern
方法:
public void drawPattern(int index)
arrayWithPatterns[index].draw();
在您的 Pattern
类中,定义一个 draw()
方法,其中的代码用于绘制该特定模式。
【讨论】:
以上是关于尝试清除程序的画布的主要内容,如果未能解决你的问题,请参考以下文章