这是我的run()函数:

@Override
public void run() {
    while (true) {
        long elapsed = TimeUtils.nanoTime() - startTime;
        Texture currentFrame = connectedAnim.getFrame(elapsed);
        textureToApplyTo = currentFrame;
    }
}


在此类的构造函数中,我在主线程中将textureToApplyTo设置为Texture变量。问题是,当我在run()函数中将textureToApplyTo设置为currentFrame时,它仅在设置它的类中对其进行了更改。我认为问题在于我正在此变量中创建textureToApplyTo类以及主类,但我不知道该怎么做...我需要一种方法来从此线程更改主类中的textureToApplyTo变量。

最佳答案

在纹理中添加volatile关键字以应用于声明。像这样

 public static volatile Texture textureToApplyTo;

09-04 14:14