gpt4 book ai didi

java - 处理中的类中是否可以有另一个循环?

转载 作者:太空宇宙 更新时间:2023-11-04 07:19:00 24 4
gpt4 key购买 nike

Processing 中的类中是否可以有另一个循环?

在主类中,我可以有一个在每一帧上运行的 draw() 函数。但我希望我的其他类也有同样的东西,这样我就不必转储我在主类中每一帧运行的所有东西。它还使我的代码更加干净。

这是我尝试过的方法,但效果并不理想:

这是我的类(class):

public class MyClass {

private int backgroundColour = 0;

public MyClass () {
}

public void draw() {
background(backgroundColour++, 0, 0);
println(backgroundColour);
}
}

如果我要在我的主类中实例化它,如下所示:

MyClass myClass;
void setup() {
myClass = new MyClass();
}

我没有看到每一帧控制台上的颜色变化和线条打印。当然,我可以在主类的 draw() 函数中调用 myClass.draw(),但就像我说的,我希望我可以让依赖类在它们自己内部处理它们自己的东西。

因此,来自 Actionscript 背景,我试图实现类似在类中拥有另一个“ENTER_FRAME”之类的目标,我将在主类中实例化该类,只不过我是在处理中执行此操作。可以在处理中执行此操作吗?

最佳答案

是的,可以。试试这个代码:

import processing.core.*;

public class MyClass implements PConstants {

PApplet parent;
private int backgroundColour = 0;

public MyClass (PApplet parent) {
this.parent = parent;
parent.registerMethod("draw", this);
}

public void draw() {
parent.background(backgroundColour++, 0, 0);
parent.println(backgroundColour);
}
}

并实例化传递“this”作为参数

MyClass myClass;
void setup() {
myClass = new MyClass(this);
}

您应该遵循本教程 https://github.com/processing/processing/wiki/Library-Basics

关于java - 处理中的类中是否可以有另一个循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19583878/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com