我正在开发一款安卓游戏,我的SurfaceView正在渲染游戏,我想让它在玩家输掉游戏时出现Alertdialogs。
我如何在SurfaceView中使用AlertDialogs,我想在游戏结束时弹出警报对话框,此外,是否可以设计这个对话框,并以某种方式将其放大到SurfaceView上?
谢谢您
我必须遵循类。
public class GameActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Point point=new Point();
getWindowManager().getDefaultDisplay().getSize(point);
setContentView(new GameSurfaceView(this,point.x,point.y));
}
@Override
protected void onPostResume() {
super.onPostResume();
FullScreencall();
}
public void FullScreencall() {
//someCode
}
}
}
public class GameSurfaceView extends SurfaceView implements SurfaceHolder.Callback {
public GameSurfaceView(Context context,int width,int height) {
super(context);
widthScreen =width;
heightScreen =height;
mainThread=new MainThread(getHolder(),this);
getHolder().addCallback(this);
setFocusable(true);
}
@Override
public void surfaceCreated(SurfaceHolder holder) {
mainThread.setRunning(true);
mainThread.start();
background=new Background(BitmapFactory.decodeResource(getResources(),R.drawable.background1));
player=new Player(BitmapFactory.decodeResource(getResources(),R.drawable.player));
bulletStartTime=enemyStartTime=obstacleStartTime=System.nanoTime();
}
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
boolean retry=true;
while (retry){
try{
mainThread.setRunning(false);
mainThread.join();
}catch (Exception e){
e.printStackTrace();
}
}
}
我想你可以从这句话下面得到一个线索。我不知道你可以使用 Toast
surfaceHolder.addCallback(LoginActivity.this);Toast.makeText(LoginActivity.this, "Cancel clicked", Toast.LENGTH_SHORT).show();
如果你想设计你的对话框。你可以让 自定义对话框. 最好在网上查一下。