这是我的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;