android surface 创建按钮,如何在android surfaceview上实现和绘制自定义按钮

这篇博客探讨了如何在Android 2D游戏开发中,在SurfaceView上创建和绘制自定义按钮。作者提到可以通过在Ontouch事件中检测点击坐标来实现基本的按钮功能,但寻求一种更高级的方法,比如创建一个自定义类来管理按钮的动画、行为和转换。建议可能包括扩展SurfaceView或Bitmap类以实现所需功能,并在主菜单类中维护一个游戏对象列表以便于处理UI元素。
摘要由CSDN通过智能技术生成

我正在学习在android中开发2d游戏。我完全是个新手。为了实现surfaceviews、主线程和更多工具,我遵循了一些教程,一切正常。

现在我想在主菜单中放置一个开始游戏按钮,我想知道什么是最好的方法。

我可以宣布这个按钮像

private Bitmap button;

在ontouch事件中,如果用户点击的坐标在按钮内,则捕获用户点击并执行一些功能。

但我想知道我是否可以做一个自定义类,可以管理动画,函数,转换和与该按钮相关的一切。

我不需要一个代码(我正在学习自己),只需要一个如何做的解释。我正在考虑制作开始按钮扩展场景,或者扩展位图类。

我会在mainmanu类中创建一个包含ui的每个gameobject的对象列表,并在每次绘制和触摸时检查该列表。

你怎么认为?

主要活动

public class MainActivity extends Activity {

private SceneHandler _sceneHandler;

private DBCore database;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

database = new DBCore(this, getResources().getString(R.string.db_name),

null, 1);

_sceneHandler = new SceneHandler(this);

setContentView(_sceneHandler.getContentView());

}

}

主线

public class MainThread extends Thread {

private SurfaceHolder surfaceHolder;

private GameView gameView;

private boolean running;

public static Canvas canvas;

private int targetFPS = 60;

private double averageFPS;

public MainThread(SurfaceHolder surfaceHolder, GameView gameView) {

super();

this.surfaceHolder = surfaceHolder;

this.gameVie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值