gpt4 book ai didi

java - 安卓简单游戏。在游戏 View 上添加图像按钮

转载 作者:行者123 更新时间:2023-11-30 01:00:22 26 4
gpt4 key购买 nike

是否可以将按钮/图像按钮放在“游戏表面”之上?我正在试验这个博客中的代码: https://www.simplifiedcoding.net/android-game-development-tutorial-1/

我需要用一些按钮改变屏幕上物体的方向。在教程中,如果在任意位置按下触摸屏,船就会改变方向。

我试过这个:ImageButton b1 = (ImageButton) findViewById(R.id.turn_left);为了稍后使用 addView 将按钮添加到 View ,但它返回 null。也许是因为 setContentView(gameView);设置 GameView 的 View 而不是游戏 Activity ?关于如何使这项工作有任何建议吗?

public class GameActivity extends AppCompatActivity  {

private GameView gameView;

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

//Getting display object
Display display = getWindowManager().getDefaultDisplay();

//Getting the screen resolution into point object
Point size = new Point();
display.getSize(size);

gameView = new GameView(this, size.x, size.y);

//adding it to contentview
setContentView(gameView);
}

游戏 View

public class GameView extends SurfaceView implements Runnable { 
...code...
private void draw() {

//checking if surface is valid
if (surfaceHolder.getSurface().isValid()) {
//locking the canvas
canvas = surfaceHolder.lockCanvas();
//drawing a background color for canvas
canvas.drawColor(Color.BLACK);
//Drawing the player
canvas.drawBitmap(
...code...
draw);
//Unlocking the canvas
surfaceHolder.unlockCanvasAndPost(canvas);
}
}
....code....
@Override
public boolean onTouchEvent(MotionEvent motionEvent) {
switch (motionEvent.getAction() & MotionEvent.ACTION_MASK) {
case MotionEvent.ACTION_UP:
...code...
return true;
}
}

XML

xmlns:tools="http://schemas.android.com/tools"
tools:context="package.GameActivity">

<ImageButton
android:id="@+id/turn_left"
android:background="@drawable/left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />

最佳答案

您可以创建自定义按钮类,通过 Canvas 绘制位图。

关于java - 安卓简单游戏。在游戏 View 上添加图像按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39532206/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com