官术网_书友最值得收藏!

1.4 “一秒鐘有多長”小游戲

經過1.2節的學習,讀者應該已經下載安裝了微信Web開發者工具,并且了解了常用的操作。本節開發一個名為“一秒鐘有多長”的小程序,帶領大家領略一下小程序的開發流程。

1.4.1 游戲規則

你能精確按出一秒鐘嗎?用手指按住屏幕,感覺一秒鐘到了松開,看看是否為精確的一秒鐘。

游戲的操作規則是:

用戶手指放到圓形按鈕上,觸發touchstart事件,此時記下開始時間start_time。

用戶手指離開圓形按鈕時,觸發touchend事件,此時記下結束時間end_time。

計算用戶操作圓形按鈕的時間差,與一秒鐘相比較,根據不同的誤差顯示不同的文案。游戲界面如圖1-15所示。

圖1-15

1.4.2 下載與運行

本DEMO可以在weixinbook.net網站免費下載,下載后將ch01/1sec解壓到本地目錄。

打開微信Web開發者工具,單擊“添加項目”,進入“添加項目”頁面,如圖1-16所示。

圖1-16

AppID選擇“無AppID”,項目名稱填寫“1sec”(也可以隨意填寫),項目目錄選擇上述解壓目錄,單擊“添加項目”即可打開,如圖1-17所示。

圖1-17

此后如無特殊說明,各章節的示例程序都可以用這種方法打開。

下面用小程序開發工具實現這個小游戲,領略移動端開發的最新技術。

1.4.3 界面、樣式與腳本

游戲界面如圖1-17所示,頁面頂部是文本形式的游戲介紹:

一秒鐘有多長?

你能精確地按出一秒鐘嗎?

中間是玩法介紹:

拇指放在圓圈上。

Ready? Go!

底部是一個橘色圓形按鈕。

    源碼pages/index/index.wxml

{{result}}的數據來自對應Page的data。

catchtouchstart與catchtouchend分別綁定touchstart和touchend事件的處理函數。icon標簽展示一個橘色的圓。

對應的樣式文件如下:

    源碼pages/index/index .wxss

JS腳本

catchtouchstart與catchtouchend分別綁定touchstart和touchend事件的處理函數。前者是一個觸摸事件的起始事件,后者是該觸摸事件的結束事件。

在touchstart事件里,記錄開始時間start_time。

在touchend事件里,記錄結束時間end_time。

計算start_time與end_time之間的時間差,與一秒鐘相比較,根據不同的誤差顯示不同的文案(見表1-1)。

表1-1 文案

    源碼pages/index/index.js

第34到36行顯示文案的操作如下:

通過操作data屬性的result字段改變{{result}}里的顯示內容。

綜上所述,我們用小程序框架實現了一個“一秒鐘有多長”小游戲。這個框架類似于React Native和Vue.js等非常流行的移動網頁開發MVVM類型的框架,我們將在第2章詳細講解這個框架。

主站蜘蛛池模板: 章丘市| 剑阁县| 秦皇岛市| 田东县| 卓尼县| 宿州市| 郁南县| 凤山市| 卢湾区| 阳新县| 红安县| 丹江口市| 贡嘎县| 奎屯市| 新蔡县| 石泉县| 西林县| 莱阳市| 金坛市| 克什克腾旗| 通海县| 开平市| 湘乡市| 泰安市| 万荣县| 剑河县| 墨竹工卡县| 忻城县| 通辽市| 吉隆县| 兴和县| 理塘县| 翼城县| 红原县| 齐齐哈尔市| 滦南县| 武宣县| 鹿泉市| 彭泽县| 南江县| 伽师县|