端午過後,也能“賽龍舟”
我正在參加「初夏創意投稿大賽」詳情請看:初夏創意投稿大賽
前言
App介紹
賽龍舟遊戲主界面,通過輕點手機屏幕開始倒計時,倒計時結束開始遊戲,左側為系統角色,右側為玩家角色,通過一直快速點擊屏幕,進行比賽。
點擊右上角彈出選項菜單,有重玩,抽獎界面,繼續遊戲
比賽進行中界面,玩家通過一直快速點擊屏幕來進行遊戲。
抽獎界面,抽獎功能來自[Android-LuckyMonkeyPanel],感謝大佬(http://github.com/jeanboydev/Android-LuckyMonkeyPanel),點擊抽獎可以獲得粽卡
粽卡收集界面,在這裏可以看到所有的粽卡信息
繼續遊戲界面,在返回回來後,會根據用户之前的行為,來判斷是不是需要對用户進行繼續遊戲彈窗的展示
抽獎完成,在抽獎完成後,會增加用户的粽卡,並提示用户去粽卡收集界面查看
粽卡收集界面,在這個界面可以看到目前成功獲取到的粽卡是多少
實現原理
賽龍舟實現
通過點擊手機屏幕進行操作玩家角色,通過手指的快速點擊進行加速,如果手指點擊間隔小於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
}
粽卡收集
通過賽龍舟可以獲取到一定數量的積分,積分可以用來抽獎界面的抽獎,抽獎可以收集到不同風格樣式的粽卡,(因本人不用ps,所以這裏的圖片都來自百度,有水印以及背景色不一致的問題)
源碼
源碼公開在了GitHub,歡迎大家下載 賽龍舟
總結
對於小遊戲,一直是我比較陌生的領域,本次完成的賽龍舟小遊戲,其實實現的方式很簡單,作者沒有做遊戲的經驗,通過多年來做手機App的經驗來完成的該項目,還有很多的優化功能,比如遊戲主界面的系統設置難度,還有抽獎界面的優化,加動畫效果,粽卡的預覽界面,粽卡的介紹,加入一些比如風俗的介紹。等等,這些在後續會繼續完善,有感興趣的大牛,歡迎提出自己的建議,我會虛心接受