我正在学习 BufferStrategy 并且我对 BS 的创建有点困惑。
我的代码看起来像这样......
public class Game extends Canvas{
/*code not relevant to this topic..
*/
public void render(){
BufferStrategy bs = this.getBufferStrategy();
if(bs == null){
createBufferStrategy(3);
}
}
}
基本上,我的“游戏”类是 Canvas 的子类。该类获取缓冲区策略并将其存储在bs
.
但是,bs 没有“创建”缓冲区策略,如果它为空(在本例中为空),我会说“createBufferStrategy(3)”。
我很困惑当我createBufferStrategy(3)
或this.createBufferStrategy(3)
(这是同一件事)时会发生什么。
存储的价值究竟在哪里createBufferStrategy(3)
?
它不能存储在.. 中,所以当我只告诉我的子类创建缓冲区策略时bs
,如何bs
从实际初始化或持有一个值。null
我看不到我是如何将状态bs
从 null 更改为任何..
我试图这样做bs = createBufferStrategy(3)
,但它显然不起作用。我想知道为什么以及如何以及到底发生了什么。
先感谢您。