2012-02-01 77 views
1

这是错误。为什么没有合适的SurfaceView构造函数?

enter image description here

FastRenderView.java

package framework.impl; 
import android.graphics.Bitmap; 
import android.graphics.Canvas; 
import android.graphics.Rect; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 
import framework.Game; 

public class FastRenderView extends SurfaceView implements Runnable { 

    Game game; 
    Bitmap frameBuffer; 
    Thread renderThread = null; 
    SurfaceHolder holder; 
    volatile boolean running = false; 

    public FastRenderView(Game game, Bitmap frameBuffer) { 
     super(game); 
     this.game = game; 
     this.frameBuffer = frameBuffer; 
     this.holder = getHolder(); 
    } 

    @Override 
    public void run() { 
     Rect dstRect = new Rect(); 
     long startTime = System.nanoTime(); 
     while(running) { 
      if(!holder.getSurface().isValid()) { 
       continue; 
      } 

      float deltaTime = (System.nanoTime() - startTime)/1000000000.0f; 
      startTime = System.nanoTime(); 

      game.getScreen().update(deltaTime); 
      game.getScreen().present(deltaTime); 

      Canvas canvas = holder.lockCanvas(); 
      canvas.getClipBounds(dstRect); 
      canvas.drawBitmap(frameBuffer, null, dstRect, null); 
      holder.unlockCanvasAndPost(canvas); 
     } 
    } 

    public void resume() { 
     running = true; 
     renderThread = new Thread(this); 
     renderThread.start(); 
    } 

    public void pause() { 
     running = false; 
     while(true) { 
      try { 
       renderThread.join(); 
       break; 
      } catch(Exception e) { 
       // retry 
      } 
     } 
    } 
} 

的问题是,上线19我得到的是上面显示的错误 '超(游戏);'

问题是我该如何解决这个问题?

如果您需要更多信息,请告诉我!

感谢您的帮助!

回答

1

在此参考看看:http://developer.android.com/reference/android/view/SurfaceView.htmlhttp://developer.android.com/reference/android/view/SurfaceView.html

当你调用super(),要传递的游戏对象的父构造,这是SurfaceView的。由SurfaceView实现的唯一单参数构造函数需要一个上下文对象。 Game类是继承链中某处的继承吗?

如果否,那么你的问题。如果是,请发布Game类的代码。

+0

非常简单的修复,我将第18行的游戏更改为AndroidGame,这样我就可以获得上下文。非常感谢! – Zeveso 2012-02-01 03:45:18

+0

没问题!事实证明,这是一个比我预想的更简单的问题,这太棒了! – Tom 2012-02-01 03:46:10

相关问题