端午過後,也能“賽龍舟”
我正在參加「初夏創意投稿大賽」詳情請看:初夏創意投稿大賽
前言
App介紹
賽龍舟遊戲主介面,通過輕點手機螢幕開始倒計時,倒計時結束開始遊戲,左側為系統角色,右側為玩家角色,通過一直快速點選螢幕,進行比賽。
點選右上角彈出選項選單,有重玩,抽獎介面,繼續遊戲
比賽進行中介面,玩家通過一直快速點選螢幕來進行遊戲。
抽獎介面,抽獎功能來自[Android-LuckyMonkeyPanel],感謝大佬(https://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的經驗來完成的該專案,還有很多的優化功能,比如遊戲主介面的系統設定難度,還有抽獎介面的優化,加動畫效果,粽卡的預覽介面,粽卡的介紹,加入一些比如風俗的介紹。等等,這些在後續會繼續完善,有感興趣的大牛,歡迎提出自己的建議,我會虛心接受