端午过后,也能“赛龙舟”

我正在参加「初夏创意投稿大赛」详情请看:初夏创意投稿大赛

前言

App介绍

赛龙舟游戏主界面,通过轻点手机屏幕开始倒计时,倒计时结束开始游戏,左侧为系统角色,右侧为玩家角色,通过一直快速点击屏幕,进行比赛。 81654504488_.pic.jpg

点击右上角弹出选项菜单,有重玩,抽奖界面,继续游戏 101654504489_.pic.jpg 比赛进行中界面,玩家通过一直快速点击屏幕来进行游戏。 91654504489_.pic.jpg 抽奖界面,抽奖功能来自[Android-LuckyMonkeyPanel],感谢大佬(github.com/jeanboydev/… 111654505248_.pic.jpg 粽卡收集界面,在这里可以看到所有的粽卡信息 121654505248_.pic.jpg 继续游戏界面,在返回回来后,会根据用户之前的行为,来判断是不是需要对用户进行继续游戏弹窗的展示 131654505249_.pic.jpg 抽奖完成,在抽奖完成后,会增加用户的粽卡,并提示用户去粽卡收集界面查看 151654669556_.pic.jpg

141654669556_.pic.jpg 粽卡收集界面,在这个界面可以看到目前成功获取到的粽卡是多少 161654669557_.pic.jpg

实现原理

赛龙舟实现

通过点击手机屏幕进行操作玩家角色,通过手指的快速点击进行加速,如果手指点击间隔小于100ms,会对玩家进行持续加速。如果大于,则代表玩家累了,回到初始速度。

override fun onTouchEvent(event: MotionEvent?): Boolean {
    if (event?.actionMasked == MotionEvent.ACTION_DOWN) {
        start()
        if (userCircleY >= 0f) {
            calculateSpeed()
        } else {
            if (mCircleY > 0) {
                tipText = "玩家赢了"
                mTipDialog.show()
                reset()
            }
        }
    }
    return super.onTouchEvent(event)
}
复制代码
private fun calculateSpeed() {
    if ((System.currentTimeMillis() - lastTime) < 100) {
        value += 1
    } else
        value = 20
    userCircleY -= value
}
复制代码

151654669556_.pic.jpg

141654669556_.pic.jpg

粽卡收集

通过赛龙舟可以获取到一定数量的积分,积分可以用来抽奖界面的抽奖,抽奖可以收集到不同风格样式的粽卡,(因本人不用ps,所以这里的图片都来自百度,有水印以及背景色不一致的问题) 161654669557_.pic.jpg

源码

源码公开在了GitHub,欢迎大家下载 赛龙舟

总结

对于小游戏,一直是我比较陌生的领域,本次完成的赛龙舟小游戏,其实实现的方式很简单,作者没有做游戏的经验,通过多年来做手机App的经验来完成的该项目,还有很多的优化功能,比如游戏主界面的系统设置难度,还有抽奖界面的优化,加动画效果,粽卡的预览界面,粽卡的介绍,加入一些比如风俗的介绍。等等,这些在后续会继续完善,有感兴趣的大牛,欢迎提出自己的建议,我会虚心接受

猜你喜欢

转载自juejin.im/post/7106755885086539789