1

看来我只是无法理解 SurfaceView 和布局应该如何关联。我想做的是一个基本的游戏界面。My Main Activity 是标题屏幕,带有一个菜单和一个按钮,用于启动一个新的 Activity,它是主游戏屏幕,并使用扩展的 SurfaceView 来加载关卡并根据用户输入显示一些在屏幕上移动的图片。到目前为止一切顺利,现在我想在 SurfaceView 上放置一些特殊按钮(例如“结束游戏”)。我能够以编程方式添加按钮,但我不知道如何将它与我的布局相关联。所以,这是有效的:

public class LevelActivity extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    //remove title bar
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    //Remove notification bar
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);


    //Prepare Game Class

    LevelView mLevel = new LevelView(this);

    FrameLayout mGame = new FrameLayout(this);
    LinearLayout mGameWidgets = new LinearLayout (this);


    Button EndGameButton = new Button(this);
    mGameWidgets.addView(EndGameButton);       

    mGame.addView(mLevel);
    mGame.addView(mGameWidgets);
    //Prepare moving commands



    EndGameButton.setWidth(300);
    EndGameButton.setText("End Game");



    setContentView(mGame);

}
}

但是我不能应用这个(或类似的东西): Button EndGameButton = (Button) mLevel.findViewById(R.id.end_game_button);

我不确定问题出在代码中还是在我的 xml 布局文件中,因此我很难弄清楚如何解决这个问题。

谢谢,亲切的问候。

4

0 回答 0