基于Unity平台的汉字文化App设计与开发

2018-02-24 13:55俞舒昕张若兰周锐杨琳
电脑知识与技术 2018年34期
关键词:自适应人机交互

俞舒昕 张若兰 周锐 杨琳

摘要:随着文化学习方式方法的创新,教育游戏对于弘扬传统文化的影响越来越大,汉字作为中华文化最重要的表现形式,如何有效促进汉字传播在文化深入学习过程中至关重要的。该文旨在通过汉字文化小游戏的开发,利用新型传播方式弘扬传统文化。

Unity 是一款3D 跨平台的游戏引擎,基于该环境可以很方便地开发出适用于多种平台的游戏。本小组着眼于汉字文化,通过利用Unity环境,设计并开发以汉字为主题的教育类游戏App。该文分别介绍游戏设计过程以及开发难点和打包发布环节,着重讲述开发过程中的问题及相应解决方法,并提出后续研究方向。

关键词:APP开发;人机交互;自适应

中图分类号:TP311        文献标识码:A        文章编号:1009-3044(2018)34-0082-03

1 前言

随着互联网的发展,全球文化迅速传播,相互碰撞,加之手机市场繁荣,很多青少年、大学生使用手机更多的是注重娱乐,汉字学习枯燥无味,汉字学习类App的单一化无法引起用户的兴趣。)笔者采用unity软件对此应用进行开发,以弘扬传统文化为立足点,为缓解提笔忘字的社会现状。

近年来,互联网以其势不可当之势与各行各业结合,也为传统文化的弘扬与继承添加了多元、分享、互动等元素。互联网给传统文化提供一个全新的渠道,通过网络展示和互相交流可以完成学习和欣赏。因此将互联网和文化类APP联系在一起迎合了时代主题。

Unity具有入门简单、操作界面容易、可完全定制的编辑器、多种脚本语言支持以及跨平台移植设计等优势,使得对游戏外行的课程设计者能够参与游戏设计,并把课程理念融入游戏中,制作出一款真正“寓教于乐”的教育游戏。[1]

2 游戏的总体设计

2.1 游戏策划

针对越来越多人出现提笔忘字的现象,常常出现在写字时忘记某个字会用手机输入法输入后才回忆起这个文字的写法,本文主要就教育游戏类App的开发与制作进行研究。

游戏的针对人群是大部分群众,无论是年轻人还是老年人,都能够通过这款游戏更加缓解提笔忘字的现象。

App由三个部分构成,拼音选字、看图选字以及成语消除,每个部分下都有相应的12个关卡,12个关卡采用开放选择形式,即玩家可以选择任意关卡进行游戏,进入游戏界面之后,玩家可以根据相应的规则进行字词选择,答对即可进入下一关,答错有提示。拼音选择需要玩家根据给出的拼音选择正确文字;看图选字需要玩家根据给出的图片提示正确猜中词语并选择正确文字,成语消除需要玩家对给出的12个文字中选中对应的成语进行消除。

2.2 游戏设计

游戏设计,包括了游戏流程的设计、框架的设计和页面UI的设计。

游戏流程如图1所示:

本项目是一个游戏APP,有三个部分供玩家进行选择,玩家可根据自己的兴趣选择相应的部分进行游戏,每个部分的游戏界面和关卡选择界面的按钮以及位置都是一样的,确定好游戏的整体构架之后,开始对每一个页面进行设计。线框图设计效果,如图2和图3所示。

根据游戏流程以及线框图,进一步对游戏整体UI进行设计,游戏的整体基调为古风,与中华传统相呼应,颜色以及素材的选取都选择了古风元素。

3 关键步骤与代码实现

3.1 点击交互实现答案控制

对于此款汉字文化游戏而言,答题过程中选项内容和答案内容的对应对于游戏的推进是至关重要的。为了正确无误的实现此功能,需要的是点击后,答案选框能够获得选项传递过去的文字内容,在对应的内容显示用户选择的汉字。此外,还需要考虑当用户在思考过程中发现错误并修改的可能性。该部分通过Unity的脚本进行编写并完成,完成的步骤如下:

1) 首先获取答案框的信息内容,通过判断答案框中Active的属性来得到空缺的答案框位置。

2) 通过语句判断目前第一个属性为空的按钮位置,并将答案填入其中。

3) 填入答案后进行语句的判断,当四个答案内容填写完成时,与正确答案进行匹配,如若答案正确,跳出下一关选项;如若答案错误,出现错误提示。

4) 在用户填写答案过程中,发现错误时,点击答案框消除错误内容,之后再次进行填写。

3.2 修改答案内容并在此填入的实现程序

在答题过程中,不可避免地会遇到在用户思考过程中否定并重新选项的过程,此时上述的switch语句并不能很好的解决相互对应、填入问题,因此需要考虑如何做到用户可以任意修改,并在对应的答案框中获得新的正确文字。

在此过程中,首先需利用点击答案框的方式消除错误的陈旧答案,此方式利用的是按钮点击属性后修改Text属性的Active值的,这为下一步在此填入答案提供基础。其次利用if与else语句再次判断答案框属性值,从而确定目前空缺文字内容的答案选项框位置,再对应填入方才点击的选项按钮文字内容。此过程判断后分别会得出不同的switch取值,与上一环节相呼应。最后回到switch语句中完成不同情况下的操作步骤,实现任意修改关键代码如下:

4 屏幕自适应解决步骤

4.1 屏幕自适应注意细节

在进行UI界面的版式设计时,不能保证APP界面在不同安卓移动端设备下都和設计画布具有一样的分辨率,为解决这一问题,就需要引入屏幕自适应技术,对UI元素进行相应的调整,达到正常的体验效果。

屏幕自适应分为视口自适应和UI自适应,前者是用于适应不同摄像机的分辨率和纵横比,后者主要对界面元素的锚点定位和缩放进行调整。[2]

在设计APP界面时,如果手动调整UI元素与Canvas(设计屏幕画布)的位置关系,则改变Canvas的大小时,UI元素不会根据画布按比例进行调整,由此需要借助锚点对元素进行定位,对屏幕自适应要求较高时,可运用锚点方向角确定元素与附物体的位置关系。

首先,设定好锚点并测试在不同分辨率下的界面效果;其次对测试的几种界面效果进行对比,如果发现界面元素仍不能满足适应测试屏幕,可运用Canvas面板下的缩放器Canvas Scaler(Script)根据项目所需的分辨率来重新定义,使元素能够按照附容器的大小呈现出理想的界面;最后对设定后的界面进行测试,在Game窗口中添加常用的几个安卓移动端分辨率进行相应的调试。

本项目分别测试了两个分辨率:720*1280和1080*1920。

4.2 导出APK时参数设置

设置时需要注意的是,如果项目在Project -Creat - Plugins - Android Manifest中设置过参数后,会对Palyer Setting中的部分参数覆盖

以下所有操作都基于File - Build Settings - Palyer Setting中对导出的参数进行设置

包含:

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,可根据需要自主添加

4)APP图标的添加:在Setting for Android – Icon下设置,勾选Override for Android选择不同尺寸并添加图标

5 结束语

本文基于Unity对汉字文化APP进行了开发,该APP可以缓解各年龄段存在的提笔忘字的现象。有别于当下的弘扬方式,本文提出的汉字游戏APP新型传播方式的优势体现在两个方面,一方面利用更加简便和高效的方式切实解决当下的有关汉字理解不深刻问题,另一方面将互联网与文化相结合,交互界面不断修改与完善。开发过程中也存在着一些困难,现阶段还不能解决关卡里书写识别或是引用手写输入法的问题,所以APP里没有书写类的关卡。由于没有后端数据库的支持,APP较为单一,整体还需要后期的优化和改进。

参考文献:

[1] 郭芳芳,刘志勤.Unity3D在教育游戏中的应用研究[J].教育观察,2012(10).

[2] 谢运佳,邓燕婷.基于HTML5的认知训练小游戏的设计与开发[J].广州广播电视大学学报,2017(4).

【通联编辑:唐一东】

猜你喜欢
自适应人机交互
浅谈网络教育领域的自适应推送系统
电子节气门非线性控制策略
人机交互课程创新实验
多天线波束成形的MIMO-OFDM跨层自适应资源分配