前言
雙十一即將來臨不知道各位的購物是不是已經(jīng)塞滿了東西呢颅拦?小編也想將自己的購物車塞得滿滿的蒂誉,奈何錢包不想,于是就只能通過游戲虛擬購物來滿足自己的購物欲了矩距。沒曾想到竟然被我發(fā)現(xiàn)了一款集成了華為HMS ML Kit手部關(guān)鍵點(diǎn)檢測的小游戲-瘋狂購物車拗盒,下面就跟小編一起看看這個游戲是怎么實(shí)現(xiàn)的吧!
應(yīng)用場景
瘋狂購物車小游戲是通過集成華為HMS ML Kit手部關(guān)鍵點(diǎn)檢測服務(wù)來實(shí)現(xiàn)的锥债,通過手勢檢測可以控制購物車左右移動陡蝇,從而接住掉落下來的各類商品,每隔15秒將提一次速哮肚,給玩家?guī)聿灰粯拥馁徫镉螒蝮w驗(yàn)登夫。
怎么樣,這么有趣的游戲還不心動嗎允趟?那就一起來看看開發(fā)步驟吧恼策!
開發(fā)實(shí)戰(zhàn)
1.配置Maven倉地址
打開Android Studio項(xiàng)目級“build.gradle”文件
buildscript {
???repositories {
???????google()
???????jcenter()
???????maven {url 'https://developer.huawei.com/repo/'}
??? }
???dependencies {
???????...
???????classpath 'com.huawei.agconnect:agcp:1.4.1.300'
??? }
}
allprojects {
???repositories {
???????google()
???????jcenter()
???????maven {url 'https://developer.huawei.com/repo/'}
??? }
}
2.Full SDK集成
dependencies{
???//引入基礎(chǔ)SDK
???implementation'com.huawei.hms:ml-computer-vision-handkeypoint:2.0.4.300'
???//引入手部關(guān)鍵點(diǎn)檢測模型包
???implementation 'com.huawei.hms:ml-computer-vision-handkeypoint-model:2.0.4.300'
}
用上述方式兩種方法之一集成SDK后,在文件頭添加配置潮剪。
在apply plugin: 'com.android.application'后添加applyplugin: 'com.huawei.agconnect'
3.創(chuàng)建手部關(guān)鍵點(diǎn)分析器
MLHandKeypointAnalyzer analyzer =MLHandKeypointAnalyzerFactory.getInstance().getHandKeypointAnalyzer();
4.創(chuàng)建識別結(jié)果處理類“HandKeypointTransactor”
public class HandKeypointTransactorimplements MLAnalyzer.MLTransactor> {
???@Override
???public voidtransactResult(MLAnalyzer.Result> results) {
???????SparseArray> analyseList =results.getAnalyseList();
???????//開發(fā)者根據(jù)需要處理識別結(jié)果涣楷,需要注意,這里只對檢測結(jié)果進(jìn)行處理抗碰。
???????//不可調(diào)用ML Kit提供的其他檢測相關(guān)接口狮斗。
??? }
???@Override
???public void destroy() {
???????//檢測結(jié)束回調(diào)方法,用于釋放資源等弧蝇。
??? }
}
4.設(shè)置識別結(jié)果處理器碳褒,實(shí)現(xiàn)分析器與結(jié)果處理器的綁定
analyzer.setTransactor(newHandKeypointTransactor());
5.創(chuàng)建LensEngine
LensEngine lensEngine = newLensEngine.Creator(getApplicationContext(), analyzer)
?? ?.setLensType(LensEngine.BACK_LENS)
???.applyDisplayDimension(1280, 720)
???.applyFps(20.0f)
???.enableAutomaticFocus(true)
???.create();
6.調(diào)用run方法,啟動相機(jī)看疗,讀取視頻流沙峻,進(jìn)行識別
// 請自行實(shí)現(xiàn)SurfaceView控件的其他邏輯。
SurfaceView mSurfaceView =findViewById(R.id.surface_view);
try {
???lensEngine.run(mSurfaceView.getHolder());
} catch (IOException e) {
???//異常處理邏輯两芳。
}
7.檢測完成摔寨,停止分析器,釋放檢測資源
if (analyzer != null) {
???analyzer.stop();
}
if (lensEngine != null) {
???lensEngine.release();
}
結(jié)束語
看完主要開發(fā)步驟是不是覺得集成簡單又快速怖辆,除了上述的瘋狂購物車小游戲祷肯,手部關(guān)鍵點(diǎn)識別技術(shù)在生活中有很多的應(yīng)用場景沉填。比如拍攝短視頻的軟件在集成了這種技術(shù)后,可以根據(jù)手部關(guān)鍵點(diǎn)生成一些可愛或者搞笑的特效佑笋,增加短視頻的趣味性“弑牵或者是在面向智能家居的場景中蒋纬,可以自定義一些手勢作為智能家電的遠(yuǎn)距離操控指令,進(jìn)行一些更加智能的人機(jī)交互方式坚弱∈癖福快來試試吧,一起開發(fā)好玩又有趣的應(yīng)用吧荒叶!
Github Demo Code
欲了解更多詳情碾阁,請參閱:
華為開發(fā)者聯(lián)盟官網(wǎng):https://developer.huawei.com/consumer/cn/hms
獲取開發(fā)指導(dǎo)文檔:https://developer.huawei.com/consumer/cn/doc/development
參與開發(fā)者討論請到Reddit社區(qū):https://www.reddit.com/r/HMSCore/
下載demo和示例代碼請到Github:https://github.com/HMS-Core
解決集成問題請到Stack
Overflow:https://stackoverflow.com/questions/tagged/huawei-mobile-services?tab=Newest