olarak değiştirin. Çalıştırılabilir arabirimi uygulayan bir sınıftaki bir öznitelik boyunca değişiklik yapmak mümkün mü?Bir Çalışabilir sınıf özniteliğini, tüm zamanlar boyunca
Runnable arabirimini uygulayan bir GamePanel sınıfında bir oyun döngüsü oluşturdum. Beklediğim gibi Ancak, böyle bir boolean niteliğini değiştirmek mümkün değildir: Benim MainActivity olarak
public class GamePanel extends SurfaceView implements Runnable {
private volatile boolean _isPaused;
public synchronized void setPause(boolean b) {
_isPaused = b;
}
public synchronized boolean getPause() {
return _isPaused;
}
@Override
public void run() {
while (!_isPaused)
draw();
}
public void draw()
{
if (_isPaused)
drawPauseScreen();
else
drawGameScreen();
}
}
, basit bir düğmeye bağlı bir dinleyici var:
private View.OnClickListener buttonPauseListener = new View.OnClickListener() {
@Override
public void onClick(View v) {
_gamePanel.setPause(!_gamePanel.getPause());
}
};
ben tıkladığımda duraklatma düğmesi, boole değiştirilir, ancak üzerine tıklayarak bir saniye artık boole değiştirmez.
Her zaman, _isPaused değerini ayarlıyorsunuz, onClick'te bunu yapmamalısınız. _gamePanel.setPause (! _ gamePanel.getPause()); – jonathanrz
Kodu düzenledim, bir yapıştırma hatasıydı. Bende: _gamePanel.setPause (! _ GamePanel.getPause()); ve bu çalışmıyor –