俞舒昕 張若蘭 周銳 楊琳
摘要:隨著文化學習方式方法的創(chuàng)新,教育游戲?qū)τ诤霌P傳統(tǒng)文化的影響越來越大,漢字作為中華文化最重要的表現(xiàn)形式,如何有效促進漢字傳播在文化深入學習過程中至關重要的。該文旨在通過漢字文化小游戲的開發(fā),利用新型傳播方式弘揚傳統(tǒng)文化。
Unity 是一款3D 跨平臺的游戲引擎,基于該環(huán)境可以很方便地開發(fā)出適用于多種平臺的游戲。本小組著眼于漢字文化,通過利用Unity環(huán)境,設計并開發(fā)以漢字為主題的教育類游戲App。該文分別介紹游戲設計過程以及開發(fā)難點和打包發(fā)布環(huán)節(jié),著重講述開發(fā)過程中的問題及相應解決方法,并提出后續(xù)研究方向。
關鍵詞:APP開發(fā);人機交互;自適應
中圖分類號:TP311? ? ? ? 文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)34-0082-03
1 前言
隨著互聯(lián)網(wǎng)的發(fā)展,全球文化迅速傳播,相互碰撞,加之手機市場繁榮,很多青少年、大學生使用手機更多的是注重娛樂,漢字學習枯燥無味,漢字學習類App的單一化無法引起用戶的興趣。)筆者采用unity軟件對此應用進行開發(fā),以弘揚傳統(tǒng)文化為立足點,為緩解提筆忘字的社會現(xiàn)狀。
近年來,互聯(lián)網(wǎng)以其勢不可當之勢與各行各業(yè)結(jié)合,也為傳統(tǒng)文化的弘揚與繼承添加了多元、分享、互動等元素。互聯(lián)網(wǎng)給傳統(tǒng)文化提供一個全新的渠道,通過網(wǎng)絡展示和互相交流可以完成學習和欣賞。因此將互聯(lián)網(wǎng)和文化類APP聯(lián)系在一起迎合了時代主題。
Unity具有入門簡單、操作界面容易、可完全定制的編輯器、多種腳本語言支持以及跨平臺移植設計等優(yōu)勢,使得對游戲外行的課程設計者能夠參與游戲設計,并把課程理念融入游戲中,制作出一款真正“寓教于樂”的教育游戲。[1]
2 游戲的總體設計
2.1 游戲策劃
針對越來越多人出現(xiàn)提筆忘字的現(xiàn)象,常常出現(xiàn)在寫字時忘記某個字會用手機輸入法輸入后才回憶起這個文字的寫法,本文主要就教育游戲類App的開發(fā)與制作進行研究。
游戲的針對人群是大部分群眾,無論是年輕人還是老年人,都能夠通過這款游戲更加緩解提筆忘字的現(xiàn)象。
App由三個部分構(gòu)成,拼音選字、看圖選字以及成語消除,每個部分下都有相應的12個關卡,12個關卡采用開放選擇形式,即玩家可以選擇任意關卡進行游戲,進入游戲界面之后,玩家可以根據(jù)相應的規(guī)則進行字詞選擇,答對即可進入下一關,答錯有提示。拼音選擇需要玩家根據(jù)給出的拼音選擇正確文字;看圖選字需要玩家根據(jù)給出的圖片提示正確猜中詞語并選擇正確文字,成語消除需要玩家對給出的12個文字中選中對應的成語進行消除。
2.2 游戲設計
游戲設計,包括了游戲流程的設計、框架的設計和頁面UI的設計。
游戲流程如圖1所示:
本項目是一個游戲APP,有三個部分供玩家進行選擇,玩家可根據(jù)自己的興趣選擇相應的部分進行游戲,每個部分的游戲界面和關卡選擇界面的按鈕以及位置都是一樣的,確定好游戲的整體構(gòu)架之后,開始對每一個頁面進行設計。線框圖設計效果,如圖2和圖3所示。
根據(jù)游戲流程以及線框圖,進一步對游戲整體UI進行設計,游戲的整體基調(diào)為古風,與中華傳統(tǒng)相呼應,顏色以及素材的選取都選擇了古風元素。
3 關鍵步驟與代碼實現(xiàn)
3.1 點擊交互實現(xiàn)答案控制
對于此款漢字文化游戲而言,答題過程中選項內(nèi)容和答案內(nèi)容的對應對于游戲的推進是至關重要的。為了正確無誤的實現(xiàn)此功能,需要的是點擊后,答案選框能夠獲得選項傳遞過去的文字內(nèi)容,在對應的內(nèi)容顯示用戶選擇的漢字。此外,還需要考慮當用戶在思考過程中發(fā)現(xiàn)錯誤并修改的可能性。該部分通過Unity的腳本進行編寫并完成,完成的步驟如下:
1) 首先獲取答案框的信息內(nèi)容,通過判斷答案框中Active的屬性來得到空缺的答案框位置。
2) 通過語句判斷目前第一個屬性為空的按鈕位置,并將答案填入其中。
3) 填入答案后進行語句的判斷,當四個答案內(nèi)容填寫完成時,與正確答案進行匹配,如若答案正確,跳出下一關選項;如若答案錯誤,出現(xiàn)錯誤提示。
4) 在用戶填寫答案過程中,發(fā)現(xiàn)錯誤時,點擊答案框消除錯誤內(nèi)容,之后再次進行填寫。
3.2 修改答案內(nèi)容并在此填入的實現(xiàn)程序
在答題過程中,不可避免地會遇到在用戶思考過程中否定并重新選項的過程,此時上述的switch語句并不能很好的解決相互對應、填入問題,因此需要考慮如何做到用戶可以任意修改,并在對應的答案框中獲得新的正確文字。
在此過程中,首先需利用點擊答案框的方式消除錯誤的陳舊答案,此方式利用的是按鈕點擊屬性后修改Text屬性的Active值的,這為下一步在此填入答案提供基礎。其次利用if與else語句再次判斷答案框?qū)傩灾?,從而確定目前空缺文字內(nèi)容的答案選項框位置,再對應填入方才點擊的選項按鈕文字內(nèi)容。此過程判斷后分別會得出不同的switch取值,與上一環(huán)節(jié)相呼應。最后回到switch語句中完成不同情況下的操作步驟,實現(xiàn)任意修改關鍵代碼如下:
4 屏幕自適應解決步驟
4.1 屏幕自適應注意細節(jié)
在進行UI界面的版式設計時,不能保證APP界面在不同安卓移動端設備下都和設計畫布具有一樣的分辨率,為解決這一問題,就需要引入屏幕自適應技術(shù),對UI元素進行相應的調(diào)整,達到正常的體驗效果。
屏幕自適應分為視口自適應和UI自適應,前者是用于適應不同攝像機的分辨率和縱橫比,后者主要對界面元素的錨點定位和縮放進行調(diào)整。[2]
在設計APP界面時,如果手動調(diào)整UI元素與Canvas(設計屏幕畫布)的位置關系,則改變Canvas的大小時,UI元素不會根據(jù)畫布按比例進行調(diào)整,由此需要借助錨點對元素進行定位,對屏幕自適應要求較高時,可運用錨點方向角確定元素與附物體的位置關系。
首先,設定好錨點并測試在不同分辨率下的界面效果;其次對測試的幾種界面效果進行對比,如果發(fā)現(xiàn)界面元素仍不能滿足適應測試屏幕,可運用Canvas面板下的縮放器Canvas Scaler(Script)根據(jù)項目所需的分辨率來重新定義,使元素能夠按照附容器的大小呈現(xiàn)出理想的界面;最后對設定后的界面進行測試,在Game窗口中添加常用的幾個安卓移動端分辨率進行相應的調(diào)試。
本項目分別測試了兩個分辨率:720*1280和1080*1920。
4.2 導出APK時參數(shù)設置
設置時需要注意的是,如果項目在Project -Creat - Plugins - Android Manifest中設置過參數(shù)后,會對Palyer Setting中的部分參數(shù)覆蓋
以下所有操作都基于File - Build Settings - Palyer Setting中對導出的參數(shù)進行設置
包含:
1)豎屏:在Setting for Android下,將Default Orientation設置為Portrait
2)橫屏:在Setting for Android – Resolution and Presentation下,將Default Orientation設置為AutoRotation,并去掉Portrait和PortraitUpside Down的勾選,如圖4所示。
3)Logo的添加:在Setting for Android – Splash Image下設置,勾選掉Unity的默認logo,可根據(jù)需要自主添加
4)APP圖標的添加:在Setting for Android – Icon下設置,勾選Override for Android選擇不同尺寸并添加圖標
5 結(jié)束語
本文基于Unity對漢字文化APP進行了開發(fā),該APP可以緩解各年齡段存在的提筆忘字的現(xiàn)象。有別于當下的弘揚方式,本文提出的漢字游戲APP新型傳播方式的優(yōu)勢體現(xiàn)在兩個方面,一方面利用更加簡便和高效的方式切實解決當下的有關漢字理解不深刻問題,另一方面將互聯(lián)網(wǎng)與文化相結(jié)合,交互界面不斷修改與完善。開發(fā)過程中也存在著一些困難,現(xiàn)階段還不能解決關卡里書寫識別或是引用手寫輸入法的問題,所以APP里沒有書寫類的關卡。由于沒有后端數(shù)據(jù)庫的支持,APP較為單一,整體還需要后期的優(yōu)化和改進。
參考文獻:
[1] 郭芳芳,劉志勤.Unity3D在教育游戲中的應用研究[J].教育觀察,2012(10).
[2] 謝運佳,鄧燕婷.基于HTML5的認知訓練小游戲的設計與開發(fā)[J].廣州廣播電視大學學報,2017(4).
【通聯(lián)編輯:唐一東】