999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

用Scratch玩手勢控制(下)

2015-07-20 23:42:52謝作如
中國信息技術教育 2015年11期
關鍵詞:程序游戲功能

謝作如

毫無疑問,Leap Motion是一款很有趣的體感控制器。借助于斯蒂芬·豪威爾“Scratch 2.0 Plug-in for Leap Motion”插件,中小學生用Scratch2.0,就能編寫出很酷的手勢控制方面的應用來。在上期的文章中,我借助“用手‘抓’住小貓”和“深海捕魚”兩個范例,初步介紹了手勢控制方面的編程。在這期的文章中,我們繼續研究稍微復雜的手勢識別功能的實現。

需要提示的是,Scratch2.0的文件能夠保存其原先使用的第三方插件信息。你只要打開原來保存的手勢控制程序,就不需要再次去載入“LeapMotion.json”腳本文件了。這樣一來,我們編寫需要第三方插件的Scratch程序就比較方便了。

用手勢實現放大和縮小功能

通過手勢控制圖片或者網頁的放大和縮小,是手機觸控屏上的常見應用。這一功能雖然常見,但在普通的觸控屏上實現起來并不容易,因為這涉及多點觸控。Leap Motion可以識別雙手,剛好可以讓我們體驗這一好玩的功能。

以下是一個通過手勢控制小魚大小的程序,具體功能為:雙手握拳,然后改變雙手之間的距離,屏幕上的小魚也就根據距離的變化,自行放大或者縮小,其界面如圖1所示。

程序功能分析:

①首先我們需要判斷雙手是否握拳,用“Hand-1 Open?”和“Hand-2 Open?”不成立就可以判斷。原理很好理解,但代碼拼接起來有點長,這也是圖形化編程語言的最大不足。

②而后要判斷雙手之間有沒有改變距離。我使用d1和d2兩個變量,d1記錄的是上一次的距離,d2記錄的是當前的距離。然后將d2除以d1的值與角色的原大小相乘,并設定角色大小。這樣就能夠用動態的雙手距離控制角色大小了。

需要注意的是,如果雙手不處于“握拳”狀態時,d1的值需要初始化為0。不然,這會導致你無法連續做縮放角色的操作。完整的代碼如圖2所示。

和電腦玩“石頭剪刀布”

“石頭剪刀布”是大家最熟悉的猜拳游戲了,和電腦玩“石頭剪刀布”游戲的程序也多如牛毛。但是,那些程序無非是用鼠標鍵盤選擇一個按鈕,然后和電腦出的隨機數進行比較,無趣得很。你甚至不知道電腦是不是耍了什么手段,畢竟電腦永遠是在你選擇后才暗中“出拳”。你見過有誰真正用劃拳的形式和電腦玩“石頭剪刀布”嗎?

我們可以借助Leap Motion,做一個玩家和電腦可以“公平”玩猜拳的手勢游戲。游戲設定為:當倒計時結束,玩家和電腦同時“出拳”,然后電腦識別出玩家的手勢,根據自己的出拳結果,判斷輸贏。

游戲的核心功能并不復雜。首先要讓電腦能夠判斷玩家出的拳(手勢)是石頭還是剪刀或者布。這三個手勢中,比較麻煩的是“剪刀”,這需要進行多次測試,看Leap Motion的識別結果是否準確。比如我就用下頁圖3的代碼,分別判斷當玩家出“剪刀”的時候,五個手指的狀態分別是處于什么情況,記錄并分析。

也許是插件的BUG或者是Leap Motion的識別存在某些不足,“剪刀”這一手勢,插件反饋的往往不是“食指和中指”可見,反而是“大拇指和食指”可見。經過多次測試,我發現如下表所示的規律:

可能有人會問,對于“石頭”的判斷,為什么不直接用“‘hand-1 Open’不成立”呢?其實,對于Leap Motion來說,“剪刀”也是“‘hand-1 Open’不成立”的。既然我們僅僅是為了區分三種手勢,也可以更簡單點,將三種情況合并起來判斷,如圖4。

需要注意的是,玩家出拳前最好要先把手勢做標準,然后展示在Leap Motion的上方,不要太靠近。尤其不能等手到了固定的位置再做出手勢,這樣容易導致Leap Motion誤判。在實際的測試中,Leap Motion還是能讓我滿意的,識別的準確率能達到90%。

好了,既然三種手勢都能正確識別,這個程序的核心功能就實現了。我們可以優化一下程序,把其他功能完善起來。限于篇幅,具體的代碼就不再贅述了。具體界面如圖5-圖9所示。

看到“后出”提示了嗎?在這個游戲中,我們再也不用擔心電腦作弊了,因為它甚至會比你先出。當然,如果你不及時出拳,程序會判定你“后出”的。總之,誰也別想耍賴。

借助這兩個范例,我們初步實現了一些有趣的手勢識別功能,但是也發現“Scratch 2.0 Plug-in for Leap Motion”插件存在很多不足。如果你具有一定的編程能力,還可以下載插件源碼,增加相應的功能,讓Scratch2.0的手勢控制更加強大。我們希望有更多的高手,在他人的開源代碼基礎上,增加新的功能后再開源出去。如果你用Leap Motion識別出更多的手勢,請別忘了分享你的代碼。

如果對相關內容感興趣,請關注主持人博客。

猜你喜歡
程序游戲功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
關于非首都功能疏解的幾點思考
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
數獨游戲
瘋狂的游戲
飛碟探索(2016年11期)2016-11-14 19:34:47
爆笑游戲
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
第八章直接逃出游戲
小學科學(2015年7期)2015-07-29 22:29:00
主站蜘蛛池模板: 无码'专区第一页| 亚洲成a人片7777| 久久狠狠色噜噜狠狠狠狠97视色| 久久夜色精品国产嚕嚕亚洲av| v天堂中文在线| a毛片基地免费大全| 毛片基地美国正在播放亚洲 | 亚洲精品欧美日本中文字幕| 亚洲人成网站在线播放2019| 天堂亚洲网| 日日拍夜夜嗷嗷叫国产| 99热精品久久| 日韩欧美成人高清在线观看| 国产成人免费| 亚洲二三区| 在线观看免费黄色网址| www.精品国产| 精品精品国产高清A毛片| 国产精品久线在线观看| 18禁影院亚洲专区| 亚洲女同一区二区| 国产成人做受免费视频| 国产美女无遮挡免费视频| 欧美精品三级在线| 国产成人精品一区二区免费看京| 亚洲国产日韩在线观看| 亚洲有无码中文网| 国产一区二区免费播放| 亚洲综合色婷婷中文字幕| 亚洲啪啪网| 久久精品亚洲热综合一区二区| 亚洲av无码片一区二区三区| 亚洲全网成人资源在线观看| 国产精品久久自在自2021| 日本午夜三级| 一区二区三区四区精品视频| 久久毛片网| 午夜成人在线视频| 青草视频在线观看国产| 91久久国产热精品免费| 国产精品视频免费网站| 亚洲欧洲一区二区三区| 久久天天躁狠狠躁夜夜2020一| 国内精品一区二区在线观看| 亚洲狠狠婷婷综合久久久久| 久久 午夜福利 张柏芝| 女人18毛片一级毛片在线| 亚洲欧美一级一级a| 五月激情婷婷综合| 婷婷色在线视频| 91在线播放国产| 特级欧美视频aaaaaa| 日韩不卡高清视频| 婷婷六月天激情| 香蕉国产精品视频| 欧美第九页| 狠狠躁天天躁夜夜躁婷婷| 欧美激情福利| 国产丝袜无码一区二区视频| 日韩精品久久无码中文字幕色欲| 亚洲一级毛片在线观播放| 真人免费一级毛片一区二区| 久久永久精品免费视频| 自慰高潮喷白浆在线观看| 日本亚洲最大的色成网站www| 免费在线看黄网址| 亚洲精品波多野结衣| 日韩国产精品无码一区二区三区| 婷婷亚洲视频| 97在线公开视频| 国产亚洲成AⅤ人片在线观看| 无码日韩视频| 中文字幕色站| 国产美女叼嘿视频免费看| 日本人妻一区二区三区不卡影院| 99青青青精品视频在线| 国产精品手机视频一区二区| 区国产精品搜索视频| 99色亚洲国产精品11p| 丁香六月激情综合| 777午夜精品电影免费看| 亚洲an第二区国产精品|