使用 Android Studio 开发了一款休闲游戏 —— 《台球王子》

台球王子,Android小游戏开发_Android

关键词:台球

A. 项目描述

台球作为一项优雅、策略性强的运动,在众多游戏类型中却相对较少。因此,开发《台球王子》小游戏,可以让更多玩家能够轻松享受到台球的乐趣。游戏采用高清的游戏画面表现,结合流畅的操作手感,让玩家仿佛置身于真实的台球场地中,享受沉浸式的游戏体验。

B. 开发工具

  • Android Studio Koala
  • Java , JDK 17.0.10
  • Gradle 8.7

C. 代码设计

GameView是游戏界面自定义示图,继承自SurfaceView,它包含了球杆、球桌、台球,以及力度控制条、角度调控按钮、击球按钮、计时器等元素,实现了台球游戏的各个要素,模拟台球游戏的功能;

surfaceCreated 函数中,示图被创建时,初始化各种资源:创建画笔、创建所有线程、初始化位图资源、初始化声音资源,创建球台对象列表、球杆对象、球台对象、力度控制条对象等等。

drawUI函数中,绘制游戏界面的各个元素,该函数被onDraw函数以及绘制线程所调用:

protected void drawUI(Canvas canvas) {
        canvas.drawColor(Color.BLACK);//整个屏幕背景色
        canvas.drawBitmap(bgBmp, 0, 0, paint);//游戏界面背景
        table.drawSelf(canvas, paint);//绘制球台
        //绘制所有球
        List<Ball> alBallsTemp = new ArrayList<Ball>(alBalls);
        for (Ball b : alBallsTemp) {
            b.drawSelf(canvas, paint);
        }
        cue.drawSelf(canvas, paint);//绘制球杆
        strengthBar.drawSelf(canvas, paint);//绘制力度条
        goBtn.drawSelf(canvas, paint);//绘制GO按钮
        leftBtn.drawSelf(canvas, paint);//绘制左按钮
        rightBtn.drawSelf(canvas, paint);//绘制右按钮
        aimBtn.drawSelf(canvas, paint);//绘制目标按钮
        if (activity.coundDownModeFlag) {
            timer.drawSelf(canvas, paint);//绘制时间
        }
    }

onTouchEvent函数,处理用户在屏幕上的的触摸事件: 滑动事件:响应用户对力度控制条的调整;用户调整球杆的瞄准方向; 点击事件:响应用户点击游戏界面上的各种按钮事件。

overGame 函数,游戏结束时调用该函数,同时发送游戏结束消息通知应用的其他组建。

D. 项目演示

台球王子,Android小游戏开发_Android_02

演示视频 ⏯

安装试用

下载⏬安装包,试用app

E. 项目源码

台球王子,Android小游戏开发_Android_03

关注公众号『数字森林』,后台发送:台球,获取源码。