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

语言: CN / TW / HK

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

前言

App介绍

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

点击右上角弹出选项菜单,有重玩,抽奖界面,继续游戏 101654504489_.pic.jpg 比赛进行中界面,玩家通过一直快速点击屏幕来进行游戏。 91654504489_.pic.jpg 抽奖界面,抽奖功能来自[Android-LuckyMonkeyPanel],感谢大佬(http://github.com/jeanboydev/Android-LuckyMonkeyPanel),点击抽奖可以获得粽卡 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的经验来完成的该项目,还有很多的优化功能,比如游戏主界面的系统设置难度,还有抽奖界面的优化,加动画效果,粽卡的预览界面,粽卡的介绍,加入一些比如风俗的介绍。等等,这些在后续会继续完善,有感兴趣的大牛,欢迎提出自己的建议,我会虚心接受