Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何拥有相同类型的多个方法?(“处理”编程)_Java_Methods_Processing_Draw - Fatal编程技术网

Java 如何拥有相同类型的多个方法?(“处理”编程)

Java 如何拥有相同类型的多个方法?(“处理”编程),java,methods,processing,draw,Java,Methods,Processing,Draw,全部。 我对编程比较新,但很固执。 我有一个类的赋值,我们必须使用draw方法,我知道它只是一个函数,但在Java中,我需要留下一条线索。我已经知道如何留下痕迹,但我想留下一条特定的痕迹,主要是我角色鞋子上的鞋印。所以我决定写一个单独的绘图方法,但我只能使用一个。有没有办法写出另一种画法 如果不是的话,有没有办法在我移动他的地方留下痕迹 我所说的轨迹:使用draw方法,我创建了一个随鼠标移动的框。“绘制”命令一秒钟多次反复循环。但是,它不会擦除上一次绘制,因此在绘制框时,框的轨迹会向左移动。我只

全部。 我对编程比较新,但很固执。 我有一个类的赋值,我们必须使用draw方法,我知道它只是一个函数,但在Java中,我需要留下一条线索。我已经知道如何留下痕迹,但我想留下一条特定的痕迹,主要是我角色鞋子上的鞋印。所以我决定写一个单独的绘图方法,但我只能使用一个。有没有办法写出另一种画法

如果不是的话,有没有办法在我移动他的地方留下痕迹

我所说的轨迹:使用draw方法,我创建了一个随鼠标移动的框。“绘制”命令一秒钟多次反复循环。但是,它不会擦除上一次绘制,因此在绘制框时,框的轨迹会向左移动。我只想有一个特定形状的轨迹,一个我可以定义的轨迹


谢谢大家

您有三种选择:

选项1:只是不清除旧帧,不在每次调用draw时调用background函数。这将导致旧图形粘在一起,看起来像一条轨迹。这将适用于简单的东西,如圆,但如果您希望您的轨迹与绘图不同,或者希望随着时间的推移淡出,这将不起作用

选项2:将您的轨迹存储在某种数据结构中。例如,可以使用包含PVector实例的ArrayList。然后在每一帧中,通过调用background清除旧帧,然后在数据结构上迭代以绘制轨迹。然后从该数据结构中添加和删除以随时间改变轨迹


选项3:将轨迹绘制到屏幕外缓冲区。提示:在中查找createGraphics函数。这与您尝试执行的操作类似,但是您不需要使用第二个draw函数,而是将轨迹绘制到缓冲区。然后每一帧,你都会把缓冲区画到屏幕上,最后把对象画到屏幕上。

你的问题有点抽象。你能发布一些代码吗?请发布你的两个方法,也许我们能把它变成一个惊人的!我想这并不像使用二次绘制法那么简单吧?我不熟悉数组…@BrentonK不,它不像使用二次绘制方法那么简单。我明白你想做什么了。请看我刚才在回答中添加的第三个选项,我认为这更接近您所寻找的内容。您还可以为背景添加一些alpha,以实现快速简单的跟踪效果,例如background50、100。它将实现随时间衰减的效果time@MasterYushi随着时间的推移,这并不总是导致痕迹完全消失。这取决于轨迹和背景的确切颜色。