SlideShare a Scribd company logo
1 of 40
Download to read offline
本 科 生 毕 业 设 计 报 告




 设计名称趣味减压交互拳击游戏及其外设设备的设计



 姓名与学号    张文婷 3071102211



 专   业    工业设计 0701


 学   院    计算机学院
A Dissertation Submitted to Zhejiang
University for the Degree of Bachelor of
Engineering




TITLE: Fun Decompression Interactive
Boxing Game and its Peripheral
Equipment Design


  Author:           Wenting Zhang

  Major:            Industrial Design

  College:          College of Computer Science

  Submitted Date:      5.31
浙江大学本科生毕业论文(设计)诚信承诺书


 1.本人郑重地承诺所呈交的毕业论文(设计),是在指导教师的

指导下严格按照学校和学院有关规定完成的。

 2.本人在毕业论文(设计)中引用他人的观点和参考资料均加以

注释和说明。

 3. 本人承诺在毕业论文(设计)选题和研究内容过程中没有抄

袭他人研究成果和伪造相关数据等行为。

 4. 在毕业论文(设计)中对侵犯任何方面知识产权的行为,由

本人承担相应的法律责任。




  毕业论文(设计)作者签名:




                  年    月   日
浙江大学计算机科学与技术学院本科毕业设计报告                摘要




                     摘要

  任天堂 Wii,Kinect 等游戏产品让电脑游戏进入到一个新的境界。不再局限
于屏幕和键盘鼠标,而是利用外设产生交互,调动起玩家每一个身体部分来全
身心的参与游戏,感受游戏。交互游戏是一个让人兴奋的新领域,充满着无限
的可能性。在仿真模拟现实的环境里,尽情的挥洒热情,感受快乐,是游戏行
业在未来几年的发展方向,这方面的创新设计,将会受到更多人的青睐,带来
更多的附加值。
  本课题着力探讨体感游戏在关注高压人群,给人们提供合理发泄、健康减压
方式方面的应用。通过将交互技术、体感游戏引入我的课题,并将这些元素整
合起来,形成一个集趣味性、功效性一体的实用型设计——减压拳击手套。这
项设计包括桌面端得游戏程序和利用三轴加速度传感器制作的外设端拳击手
套。



关键词   交互设计、游戏设计、Arduino、Flash、体感游戏




                         I
浙江大学计算机科学与技术学院本科毕业设计报告                                                           Abstract




                                    Abstract

Game products like Wii, Kinect have brought computer games to a whole new level.
No longer restrict to screen, keyboard and mouse, but using techniques like sensors to
interact with games, make the player completely immersed in the game. Somatic
Game is absolutely an exciting new area which is full of possibilities. And it will be
the trend of game industry. Innovative design in this area will be paid more attention
by public and brings more values.


In this project, I discussed how somatic games will be designed to supply a new
healthy way for people to vent their emotions and ease their pressure. By combining
interaction techniques and somatic games to my project, I put all these elements
together and make an entertaining but also with functionality product --- Fun
Decompression Interactive Boxing Game and its Peripheral Equipment. This product
design consists of a game program on desktop and a peripheral equipment boxing
gloves using acceleration sensor.


Keywords     Interactive design; Game design; Arduino; Flash;




                                           II
浙江大学计算机科学与技术学院本科毕业设计报告                                                                                                         目录




                                                            目录

摘要 ............................................................................................................ I
Abstract .................................................................................................... II
第 1 章 项目背景 ..................................................................................... 1
      1.1 绪论 ................................................................................................................. 1
      1.2 项目背景 ......................................................................................................... 1
第 2 章 设计调研 ..................................................................................... 2
      2.1 交互技术和装置产品现状 ............................................................................. 2
      2.2 用户需求 ......................................................................................................... 2
             2.2.1 设计的产生背景 ..................................................................................................2
             2.2.2 设计目的 ..............................................................................................................2
             2.2.3 用户需求分析 ......................................................................................................3
      2.3 软硬件开发平台 ............................................................................................. 5
             2.3.1 硬件开发平台 ......................................................................................................5
             2.3.2 软件开发平台 ......................................................................................................6
      2.4 装置功能 ......................................................................................................... 6
             2.4.1 桌面端实现功能 ..................................................................................................6
             2.4.2 外设端实现功能 ..................................................................................................7
      2.5 用户人群 ......................................................................................................... 7
      2.6 使用环境 ......................................................................................................... 7
      2.7 装置结构 ......................................................................................................... 8
             2.7.1 使用模式图 ..........................................................................................................8
             2.7.2 线路原理图 ..........................................................................................................8
      2.8 交互技术 ......................................................................................................... 9
             2.8.1 体感交互技术 ......................................................................................................9
             2.8.2 Flash 游戏交互 .....................................................................................................9
      2.9 设计思路 ......................................................................................................... 9
      2.10 技术难点 ....................................................................................................... 9

                                                                III
浙江大学计算机科学与技术学院本科毕业设计报告                                                                                                        目录

            2.10.1 提取动作数据 ....................................................................................................9
            2.10.2 动作捕捉算法优化 ..........................................................................................10
            2.10.3 Flash 程序与串口之间的通信..........................................................................10
            2.10.4 基于 Actionscript2.0 的 Flash 游戏制作 .........................................................10

第 3 章 设计创意 ................................................................................... 11
     3.1 设计准则与创意效果图 ................................................................................11
            3.1.1 设计准则 ............................................................................................................ 11
            3.1.2 创意效果图 ........................................................................................................12

     3.2 交互逻辑与功能 ........................................................................................... 12
            3.2.1 交互逻辑 ............................................................................................................12

     3.3 交互方式与流程 ........................................................................................... 13
            3.3.1 交互方式 ............................................................................................................13
            3.3.2 交互流程 ............................................................................................................13
     3.4 人机界面示意图 ........................................................................................... 13
     3.5 技术原理 ....................................................................................................... 14
            3.5.1 桌面端游戏程序的实现 ....................................................................................14
            3.5.2 游戏外设端解决方案 ........................................................................................15

     3.6 色彩计划 ....................................................................................................... 17
            3.6.1 第一版本的色彩计划——卡通配色 ................................................................17
            3.6.2 第二版本的色彩计划——适用于发泄减压的配色(采用版).....................17

     3.7 应用场合 ....................................................................................................... 18
            3.7.1 应用场合一——办公室 ....................................................................................18
            3.7.2 应用场合二——寝室、家中 ............................................................................18

第 4 章 工程化设计与技术实现........................................................... 19
     4.1 装置结构系统图 ........................................................................................... 19
     4.2 关键算法与技术 ........................................................................................... 19
            4.2.1 外设端 arduino 烧录程序关键算法 ..................................................................19
            4.2.2 Flash 游戏程序关键代码 ...................................................................................22

     4.3 模型制作 ....................................................................................................... 23
     4.4 装置说明书 ................................................................................................... 24


                                                               IV
浙江大学计算机科学与技术学院本科毕业设计报告                                                                                                目录


第 5 章 交互应用展示 ........................................................................... 25
      5.1 应用展示概述 ............................................................................................... 25
      5.2 交互原型系统的实现 ................................................................................... 25
      5.3 交互作品的演示 ........................................................................................... 25
第 6 章 毕业设计总结 ........................................................................... 28
      6.1 收获 ............................................................................................................... 28
      6.2 感悟 ............................................................................................................... 28
参考文献 ................................................................................................. 29
致谢 ......................................................................................................... 30




                                                             V
浙江大学计算机科学与技术学院本科毕业设计报告       第 1 章 错误!文档中没有指定样式的文字。



              第1章        项目背景

1.1 绪论
  现代生活的快节奏,高压力,让很多都市人群无所适从。面对紧张的工作、
学习,高压成为很多人生活中的困扰。抗压能力成为一项重要的能力指标。能
够在高压下保持正面积极的生活态度,高效率的完成工作、学习,会带来额外
的竞争力。同时保持一个从容、乐观的心态,也对健康至关重要。
  设计的使命,在于通过一系列巧思安排,让人们的生活收获更多的幸福,
更高的生活品质。如何让人们以积极地方式发泄负面情绪,健康减压,成为了
我毕业设计的课题。
  除了解决人们面临高压无法排解的生活问题,我还要将交互技术、体感游
戏引入我的课题,将这些元素整合起来,形成一个集趣味性、功效性一体的实
用型设计。


1.2 项目背景
  Wii,kinect 等体感游戏的火热和兴起,让人们体验到高科技带来的新鲜互
动体验,不仅如此,体感游戏改变了传统游戏的娱乐模式,调动起玩家的神经
细胞、运动细胞共同作用,让玩家更加沉浸其中,参与形式更加活跃,参与度
更高。
  Wii, kinect 等产品注重娱乐方面的表现,但没有涉及其他功效性的领域,
这就给我的课题带来了一个全新的视角:利用体感游戏,做不仅仅是娱乐的事
情。除了乐趣,更关注心理健康问题,赋予体感游戏有了新的意义。




                         1
浙江大学计算机科学与技术学院本科毕业设计报告       第 5 章 错误!文档中没有指定样式的文字。



                第2章 设计调研

2.1 交互技术和装置产品现状
  任天堂 Wii,XBOX 等游戏产品让电脑游戏进入到一个新的境界。不再局限
于屏幕和键盘鼠标,而是利用外设产生交互,调动起玩家每一个身体部分来全
身心的参与游戏,感受游戏。交互游戏是一个让人兴奋的新领域,充满着无限
的可能性。在仿真模拟现实的环境里,尽情的挥洒热情,感受快乐,是游戏行
业在未来几年的发展方向,这方面的创新设计,将会受到更多人的青睐,带来
更多的附加值。


2.2 用户需求

2.2.1 设计的产生背景

2.2.1.1 现代都市人压力沉重
     上班族承受繁重的工作压力
     生活节奏急促
     城市昂贵的物价水平
     居高不下的房价
     工资涨幅跟不上房价﹑物价
     升学﹑考试压力

2.2.1.2 都市压力日积月累,得不到释放
   对身心健康造成损害

2.2.2 设计目的
  游戏存在的目的和价值,主要些给人们带去快乐。游戏是一种很好的放松的
方式——既不像看电视节目那样单纯的做着信息输入的过程,也不像运动让人
疲累,既有一定的运动量锻炼身体,又有适量信息输出需求让玩家保持脑部活
动。
  而游戏,早已不是专为孩童而存在,成年人对快乐的需求,更为强烈。现在
都市白领就面临着很大的工作、生活压力,需要压力释放的出口,游戏就是很
好的载体。
  在于给人们带去幸福的体验,这是做好设计的真谛。给都市“高压”人口舒
缓压力,发泄情绪,带去健康的心理,即是这款设计的目的。

                         2
浙江大学计算机科学与技术学院本科毕业设计报告       第 5 章 错误!文档中没有指定样式的文字。

2.2.3 用户需求分析

2.2.3.1 识别客户的需求 —— 访谈法
  利用访谈法,选择有代表性的个体进行深度访谈,从谈话问答中挖掘潜在
需求。访谈对象图 2-1 所示:




                   图 2-1 访谈对象

  杜欣雨:知名国际化妆品公司员工,销售,白领阶层。
  访谈间她提到,因为销售行业薪资与业绩挂钩,经济不景气常常销售业绩
也跟着下滑,办公室里同事们经常会遇到压力过大的状况。而他们有时找不到
压力释放的出口,常常导致心情郁闷,工作效率不高。
  郑好:知名金融机构,投资顾问,白领。
  郑好的工作大部分时间都在写字楼里,金融行业竞争激烈,加班是常有的
事,工作时间长而强度大,她和她身边的同事也经受压力的困扰。她提到,有
时候有的同事会去楼梯口抽烟来缓解压力,但显然这不是一个好方法。下班后
去健身也是一个途径,但是常常由于时间上的问题没有办法去健身房。
  根据对两位潜在目标用户的深度专访,我们总结出以下的一个潜在需求:
写字楼里工作的白领对缓解工作压力相关产品的需求。
  访谈结果如图 2-2,图 2-3 所示:




                         3
浙江大学计算机科学与技术学院本科毕业设计报告       第 5 章 错误!文档中没有指定样式的文字。




            图 2-2 访谈结果表格——压力的恶性循环




            图 2-3 访谈结果表格——得出产品结果

2.2.3.2 调查设计草案的用户接受度——问卷调查(如图 2-4 所示)




                 图 2-4 问卷调查流程

                         4
浙江大学计算机科学与技术学院本科毕业设计报告              第 5 章 错误!文档中没有指定样式的文字。

   市场接受程度:
  地点:欧莱雅办公室
  样本总量:30 个对象
  大家在工作中都会遇到苦闷的事情,需要发泄。通常方法是 K 歌,喝酒,
找朋友聊天,睡觉,买东西等。如果出现一种排压玩具,24 人选择会购买。
   市场容量(如图 2-5 所示)
   目标市场:上海、北京、广州等的发达城市
   目标顾客:工作紧凑,压力大的都市白领
   目标渠道:团购、网购等




                          图 2-5 市场容量表格

   市场现有类似产品
   微软 XBOX 360
   任天堂 Wii
   Sony Play Station 3
   联想 3D 人体动作交互游戏机 eBox


2.3 软硬件开发平台

2.3.1 硬件开发平台
   基于 ATMega318 的 Arduino start kit(Arduino 开发者套件)
   ADXL345 三轴加速度传感器



                               5
浙江大学计算机科学与技术学院本科毕业设计报告          第 5 章 错误!文档中没有指定样式的文字。

2.3.2 软件开发平台
   flash/actionscript2.0
   serial proxy 串口通信代理
   XML 与 flash 通讯协议
   设计分析定位


2.4 装置功能
  整个游戏系统由两部分构成:电脑桌面游戏端和游戏外设端。桌面端游戏
部分着重于视觉表现,通过击打效果的展现,让玩家体验到击打和发泄的快感,
以达到情感压力发泄的目的。游戏外设的功能则是捕捉玩家的击打动作,精确
判定并转化成数字化信息传递给计算机桌面端程序。

2.4.1 桌面端实现功能
  桌面端游戏程序可以设定击打对象,比如内部设置可选择的卡通形象。击
打对象分为各种不同的类型,将那些将现实中愤怒情绪的制造者或者压力源的
真实形象夸张扭曲卡通化,变成夸张有趣的人物造型,更好地缓解压力,同时
也起到转移负面情绪的作用,巧妙化解怨恨或者愤怒,帮助形成健康的心理状
态,调节人际关系。
  除了击打对象形象的设定外,还可以辅佐以击打效果的音效,比如滑稽的
惨叫声,求饶声等等。这些音效,会起到调节气氛的作用。将愤怒、紧张等负
面情绪转化成欢笑和满足感。滑稽的音效还会让人从高压、紧张的状态中暂时
解放出来,转移注意力,轻松幽默间化解负面的情绪。
  在构思过程中,我曾经考虑过让用户自己加载击打对象真人照片,甚至进
一步增加仿制真人音效等功能。这里涉及到音频处理的一些复杂过程,需要透
露一段显示中发泄对象的说话音频,通过音频处理得到其特征,再根据这些提
取到得特征模拟他求饶、惨叫的声音,在游戏中击打动作产生的同时播放,以
满足玩家泄愤的满足感。
  但这样的方案经过我进一步的思考就被我否定了。我认为,设计应该是会
给人带来幸福感觉的,而不是相反——给人们增加负面情感的。而这种“真人
秀”的做法就会在心理角度上产生这样的副作用。将目标特定化,现实化,只
会在发泄的过程中不断的深化这种负面情绪,提醒玩家不断回忆痛苦的人际交

                            6
浙江大学计算机科学与技术学院本科毕业设计报告       第 5 章 错误!文档中没有指定样式的文字。


往经历。产生人际交往中挫败感和对这特定对象进一步的愤怒乃至仇恨。这种
功能的增加起到的是一个副作用。是“非设计”的想法。同时,大大增加了开
发的成本。音频处理技术是一个难关,另外照片上传为了展示效果,还需要加
一个抠图的过程。抠图在背景不负责的情况下不难实现。有一个小程序可以通
过用户两三下的鼠标操作再加上程序算法计算比较完美地实现抠图,但是这减
低了程序运行的效率,并且添加了两三步多余的选择操作,在交互体验上是一
个负效果。处于这两方面的考虑,我决定放弃这种想法和方案。

2.4.2 外设端实现功能
  游戏外设端十分类似于任天堂的 Wii 游戏机。Wii 是通过一个外设手柄实现
用户动作的感知和输入,实现在桌面端游戏中的虚拟,达到一种虚拟现实的游
戏体验。我的设计中,外设拳击手套和 Wii 手柄十分类似。但更加针对性和精简。
我面对的是一个特定的用户群体,以求达成一个非常细化的功能目标,只需要
一个加速度传感器来实现交互过程。另外,这个外设还包括与加速度传感器配
套的硬件运行环境和信号发射模块,电脑端与之对应地还有一个信号接收模块。


2.5 用户人群
  通过设计调研得出结论,这款产品设计主要面对的对象是城市高压人群,
如白领、学生等。他们面临的学习、工作、生活压力大, 需要健康的减压方式。
   白领
   学生
   其他城市高压人群


2.6 使用环境
   办公室
   学生寝室
   其他娱乐场所




                         7
浙江大学计算机科学与技术学院本科毕业设计报告       第 5 章 错误!文档中没有指定样式的文字。


2.7 装置结构

2.7.1 使用模式图




                  图 2-6 使用模式图

2.7.2 线路原理图




                   图 2-7 线路原理图



                         8
浙江大学计算机科学与技术学院本科毕业设计报告       第 5 章 错误!文档中没有指定样式的文字。


2.8 交互技术

2.8.1 体感交互技术
   体感交互技术是目前运用十分广泛,非常热门的交互技术。Wii,Kinect 等
都是体感交互技术具体应用的代表。
   本设计采用的技术也属于体感交互技术的一种,通过传感器捕捉体感数据,
进行游戏交互的过程。

2.8.2 Flash 游戏交互
   Flash 是进行用户交互很好的平台。在互联网、小游戏等领域都有广泛的应
用。本产品的桌面端即时一个有用户交互的小游戏。用户游戏外设和 flash 游戏
端产生交互过程,这种设计有助于提高游戏的趣味性。


2.9 设计思路
   从用户需求出发,分析特定群体人群的需求,例如:办公室白领、学生等
高压人群需要一种健康、有趣的减压排压方式。就从这个需求点出发,探讨满
足这种需求,解决此类问题的若干种解决方法。通过进行头脑风暴,首先提出
尽量多,尽量不同的解决方案,然后进行设计准则下的方案评估比较,选出在
遵从的设计准则下,最符合评判标准的方案做进一步的深入探讨,用户测试,
方案修改,反复敲定得出最终设计方案。


2.10 技术难点

2.10.1 提取动作数据
   通过加速度传感器捕捉即时加速度数据,需要基于 arduino 开发套件搭起来
的运行环境,提供的数据输入输出口,数据寄存器记录下数据。
   选择合适灵敏度的三轴加速度传感器是关键,第一次选用了飞思卡尔
MMA7260 加速度传感器,但是由于精度问题和模拟信号而不是数字信号两个问
题放弃,转而使用 adxl345 传感器。adxl345 三轴加速度传感器在拳击动作产生
的加速度大致范围内灵敏度较好,得到数据区间打,易于捕捉动作特征,对无
关数据进行滤波;并且 adxl345 同时支持数字信号输出和模拟信号输出两种模式。


                         9
浙江大学计算机科学与技术学院本科毕业设计报告               第 5 章 错误!文档中没有指定样式的文字。

2.10.2 动作捕捉算法优化
   拳击动作的动作特征加速度持续增长,加速度趋于最大值时为判定值。但
拳击动作的特征不能仅仅靠加速度大小判定,一个拳击动作会产生一个序列的
加速度值,其中比较大的值会有若干个。但是一个拳击动作只能被判定一次。
我们就要提取出一个判定一次拳击动作的数据特征。并且将这个动作判定算法
优化,提高判定准确度和判定效率。

2.10.3 Flash 程序与串口之间的通信
   Flash 基于安全因素考虑,本身不支持程序与串口直接通信。而这个设计中
的交互桌面端正是一个基于 flash 的游戏,解决游戏程序与串口之间的通信,将
游戏外设端——拳击手套中的加速度传感器捕捉到得数据传输到游戏端是一个
难点。
   本设计中采用 serproxy 通信代理来实现 flash 与串口的间接通信。

2.10.4 基于 Actionscript2.0 的 Flash 游戏制作
   Actionscript2.0 不像我比较熟悉的 actionscript3.0,并不是完全意义上的面向
对象编程语言,它的事件机制比较特殊而且难以理解。虽然熟悉 flash 的操作和
actionscript3.0 语言,actionscript2.0 的游戏编程仍然是这次项目中一个技术难点。




                              10
浙江大学计算机科学与技术学院本科毕业设计报告        第 5 章 错误!文档中没有指定样式的文字。



               第3章 设计创意

3.1 设计准则与创意效果图

3.1.1 设计准则

3.1.1.1 从用户需求出发的设计(创意过程)

  从用户需求出发进而产生设计创意,用设计解决真实存在的问题、改善人
们的生活品质。小设计,带来大改变。

3.1.1.2 简单设计原则(设计过程)

  在产品设计的过程中,设计方案在不断被探讨、修改的过程中,遵循简单
设计的原则。设计方案在演变的过程中,尽量避免向复杂、臃肿的方向发展,保
持简洁、直奔主题的设计风格。

3.1.1.3 用户体验至上的设计(测试过程)

  产品方案确定,产品最终实现后,验收测试过程要遵从用户体验至上的准
则。所有的功能、效果都是为了提供更佳的用户体验。可用性、易用性、是设
计所主要追求的价值观。




                         11
浙江大学计算机科学与技术学院本科毕业设计报告        第 5 章 错误!文档中没有指定样式的文字。

3.1.2 创意效果图




                    图 3-1 创意效果图


3.2 交互逻辑与功能

3.2.1 交互逻辑
   本产品设计由两部分组成:外设设备——即内置加速度传感器的拳击手套;
和桌面游戏端——flash 拳击游戏组成。交互逻辑比较简单直白,如下文描述:
    用户带上手套,用力挥拳,产生较大的加速度。由物理公式:加速度 a =
力 F/质量 m 可知,挥拳动作用力越大,加速度越大。
    加速度的即时数值存储在 arduino 套件的寄存器内,并在同时不断的通
过 USB 接口通过串口输入到计算机。
    通过 serproxy,flash 得以和串口通信,取到测得的加速度即时数值。
    通过动作特征的捕捉算法,从连续的加速度数值序列中,判定出一次次
的拳击动作,并通过加速度大小,进行 5 级分级(事实上在本设计中,动作特
征捕捉和分级的工作由 arduino 的核心处理器 ATMEGA318 进行。arduino board


                         12
浙江大学计算机科学与技术学院本科毕业设计报告        第 5 章 错误!文档中没有指定样式的文字。


烧录进去的 C 代码,已经进行了这一系列判定工作,然后直接通过串口将判定
结果传输给 flash)
     不同的分级,触发不同的 flash 得分机制和动画效果。累计计算得分,完
成整个游戏过程。


3.3 交互方式与流程

3.3.1 交互方式
    用户挥拳,flash 游戏产生不同的评分和击打效果。

3.3.2 交互流程
    挥拳->数据采集->数据流滤波,特征捕捉,产生力度分级数据 1 至 5->数据
传输->flash 游戏程序接收数据->游戏动画展示交互效果


3.4 人机界面示意图
   选择击打目标界面




                图 3-2 选择击打目标界面

   选择击打场景界面




                         13
浙江大学计算机科学与技术学院本科毕业设计报告        第 5 章 错误!文档中没有指定样式的文字。




                图 3-3 选择击打场景界面

   游戏开始界面




                 图 3-4 游戏开始界面


3.5 技术原理

3.5.1 桌面端游戏程序的实现
    桌面端游戏程序,主要实现的一个是击打效果,包括视觉效果和音效,另
一方面是对游戏场景和击打对象的选择。实现的功能比较简单,注重视觉效果

                         14
浙江大学计算机科学与技术学院本科毕业设计报告          第 5 章 错误!文档中没有指定样式的文字。


的体现。用 Flash+actionscript3.0 来制作这样的游戏端比较适合,技术上实现相
对简便,同时在效果上有交互额体验。
  进入游戏程序,首先是默认的场景与击打对象。菜单栏有三个按钮,开始
游戏,选择场景,选择对象。如果点击开始游戏,将在默认的场景的对象设置
下开始游戏。点击选择场景,将会出现场景选择栏,场景选项将以缩略图形式
呈现。点击选择对象将会出现打击对象选择栏。
  击打时,会对击打对象产生各种层级的击打效果,我搜集了各种卡通化地
击打效果,通过幅度大小分为若干等级,对应不同的击打力度呈现。如图 3-5
所示:




                    图 3-5 各种击打效果

3.5.2 游戏外设端解决方案
  击打的动作会产生加速度,加速度越大说明击打越用力。利用这一点事实,
我可以在外设拳击手套里植入一片加速度传感器芯片,用来测量实时的运动加
速度。将加速度的值传输入电脑,被游戏程序调用,通过加速度值的大小来判
定打击效果。
  游戏外设用到的单片机和传感器器件最主要的有以下三种:
  Arduino 328 控制板,如图图 3-6 所示;
  Prototype shield 扩展板,如图图 3-7 所示;
  ADXL345 三轴加速度传感器,如果图 3-8 所示。




                          15
浙江大学计算机科学与技术学院本科毕业设计报告             第 5 章 错误!文档中没有指定样式的文字。




                图 3-6 Arduino 328 控制板




               图 3-7 Prototype shield 扩展板



                           16
浙江大学计算机科学与技术学院本科毕业设计报告            第 5 章 错误!文档中没有指定样式的文字。




               图 3-8 ADXL345 三轴加速度传感器


3.6 色彩计划

3.6.1 第一版本的色彩计划——卡通配色
     #CD000C     #7DBEDE        #F5D312     #DFE5E6




                       图 3-9 卡通配色

3.6.2 第二版本的色彩计划——适用于发泄减压的配色(采用版)

     #E70F47     #2D3F57        #FE4819     #6A5B46        #FFC82E




                图 3-10 适用于发泄减压的配色



                           17
浙江大学计算机科学与技术学院本科毕业设计报告        第 5 章 错误!文档中没有指定样式的文字。


3.7 应用场合

3.7.1 应用场合一——办公室
  使用对象:白领
  应用环境:办公室隔间
  使用情景:长时间工作,感到困倦时;刚收到上司或同事的不公正待遇心
情不佳时;工作阻碍重重陷入困境,满腹牢骚时„„这些时刻,拿出拳击手套,
简简单单,USB 插口连接电脑,双击游戏,开始放松、减压、发泄吧!

3.7.2 应用场合二——寝室、家中
  使用对象:学生
  应用环境:寝室或家中,电脑桌前
  使用情景:考试来临,学习压力过大时;得不到老师的肯定,家长的鼓励,
学习缺乏动力时;长时间学习,感到困乏无力时„„这些时刻,拿出拳击手套,
简简单单,USB 插口连接电脑,双击游戏,开始放松、减压、发泄吧




                         18
浙江大学计算机科学与技术学院本科毕业设计报告        第 5 章 错误!文档中没有指定样式的文字。



          第4章 工程化设计与技术实现

4.1 装置结构系统图




                  图 4-1 装置结构系统图



4.2 关键算法与技术

4.2.1 外设端 arduino 烧录程序关键算法


                         19
浙江大学计算机科学与技术学院本科毕业设计报告                            第 5 章 错误!文档中没有指定样式的文字。

  #include <Wire.h>
  #define Pin_CS 3
  #define Pin_INT2 6
  #define Pin_INT1 7
  #define Register_ID 0
  #define Register_2D 0x2D
  #define Register_X0 0x32
  #define Register_X1 0x33
  #define Register_Y0 0x34
  #define Register_Y1 0x35
  #define Register_Z0 0x36
  #define Register_Z1 0x37
  #define Register_OFSX 0x1E
  #define Register_OFSY 0x1F
  #define Register_OFSZ 0x20
  int ADXAddress = 0xA7 >> 1; // the default 7-bit slave address
  int reading = 0;
  int val=0;
  int X0,X1,X_out,X_OFFS;
  int Y0,Y1,Y_out,Y_OFFS;
  int Z1,Z0,Z_out,Z_OFFS;
  double Xg,Yg,Zg,x_offs,y_offs,z_offs;
  int int1;
  int Sg;
  int Og;
  void setup()
  {
      pinMode(Pin_INT1,INPUT);
      pinMode(Pin_INT2,INPUT);
      Wire.begin();
      Serial.begin(9600);
      delay(100);
      Wire.beginTransmission(ADXAddress);
      Wire.send(Register_2D);
      Wire.send(8);              //measuring enable
      Wire.endTransmission();    // stop transmitting
  }
  void loop()
  {
      Wire.beginTransmission(ADXAddress); // transmit to device
      Wire.send(Register_X0);
      Wire.send(Register_X1);
      Wire.endTransmission();



                                          20
浙江大学计算机科学与技术学院本科毕业设计报告                        第 5 章 错误!文档中没有指定样式的文字。

   Wire.requestFrom(ADXAddress,2);
   if(Wire.available()<=2)
   {
       X0 = Wire.receive();
       X1 = Wire.receive();
       X1=X1<<8;
       X_out=X0+X1;
   }
   Wire.beginTransmission(ADXAddress); // transmit to device
   Wire.send(Register_Y0);
   Wire.send(Register_Y1);
   Wire.endTransmission();
   Wire.requestFrom(ADXAddress,2);
   if(Wire.available()<=2)
   {
       Y0 = Wire.receive();
       Y1 = Wire.receive();
       Y1=Y1<<8;
       Y_out=Y0+Y1;
   }
   Wire.beginTransmission(ADXAddress); // transmit to device
   Wire.send(Register_Z0);
   Wire.send(Register_Z1);
   Wire.endTransmission();
   Wire.requestFrom(ADXAddress,2);
   if(Wire.available()<=2)
   {
       Z0 = Wire.receive();
       Z1 = Wire.receive();
       Z1=Z1<<8;
       Z_out=Z0+Z1;
   }
   //----------------转换成 G 值
   Xg=X_out/256.0;
   Yg=Y_out/256.0;
   Zg=Z_out/256.0;
   x_offs=Register_OFSX*2.0/127;
   y_offs=Register_OFSY*2.0/127;
   z_offs=Register_OFSZ*2.0/127;
   Sg = Xg*Xg + Yg*Yg + Zg*Zg; //---------------计算和加速度的平方。取消击打的方向
  性
  // Og 存储上一个加速度值,由于加速度是一系列连续的值,如果此加速度比上一个加速度值小 2,
   //输出该数据。并通过 if else 语句判定击打力度的级别。共有 5 个级别。



                                      21
浙江大学计算机科学与技术学院本科毕业设计报告                         第 5 章 错误!文档中没有指定样式的文字。

  if((Sg+2)<Og) {
      if(Og > 3 & Og <= 5 )
      {
          Serial.print(1);
          Serial.println(0,BYTE);
      }
      else if (Og > 5 & Og <= 7 )
      {
          Serial.print(2);
          Serial.println(0,BYTE);
      }
      else if (Og > 7 & Og <= 9)
      {
          Serial.print(3);
          Serial.println(0,BYTE);
      }
      else if (Og > 9 & Og <= 10)
      {
          Serial.print(4);
          Serial.println(0,BYTE);
      }
      else if (Og > 10)
      {
          Serial.print(5);
          Serial.println(0,BYTE);
      }
      }
      Og = Sg; //这次的和加速度平方值赋值给 Og
  }



4.2.2 Flash 游戏程序关键代码
  //建立物件
  aListener = new Object();
  aListener.onConnect = function() {
      //与 arduino 连线
       trace("OK");
  }
  aListener.onConnectError = function() {
      //连线失敗
       trace("Failed");
  }
  aListener.onDisconnect = function() {


                                          22
浙江大学计算机科学与技术学院本科毕业设计报告                             第 5 章 错误!文档中没有指定样式的文字。

      //失去连线
      trace("disconnected");
  }
  //,并建立 5334 port
  var a:Arduino = new Arduino(5333);
  a.addEventListener("onConnect",aListener);
  a.addEventListener("onConnectError",aListener);
  a.addEventListener("onDisconnect",aListener);
  a.addEventListener("onReceiveData",aListener);
  var life:Number = 200;
  left._text = life;
  //peopleplace.attachMovie("people01","people1",1);
  peopleplace.loadMovie("people01.swf",1)
  //接收从 Arduino 的数值
  aListener.onReceiveData = function(evtObj:Object){
      //取得 Arduino 的值
      var ArduinoInt:Number = evtObj.data;
      var x:Number = ArduinoInt;
      //if else 语句识别击打力量级别,调用不同的击打效果。
      if (x == "1"){
           newscore.unloadMovie(3);
           newscore.unloadMovie(2);
           newscore.loadMovie("score5.swf",2);//将评分动画 load 进来,五个等级对应 5 支动
  画
           effplace1.loadMovie("eff01.swf",3); //将击打效果动画 load 进来,五个等级对应不
  同的击打效果


           life -= 2;
      } else
      if (x == "2"){
      …
      }
  …




4.3 模型制作
   外设设备的制作
  外设设备由 3 部分组成,拳击手套、机芯和电脑连接线。
  首先机芯主要组件是 arduino board,另外将 adxl345 三轴加速度传感器用点
咯铁焊在小块的 PCB 版上,与 arduino board 的对应输入输出口也通过排针焊接


                                       23
浙江大学计算机科学与技术学院本科毕业设计报告          第 5 章 错误!文档中没有指定样式的文字。


连接。排针与 adxl345 焊牢,插入到 arduino board 的对应输入口,这样易于拆卸
和维修。
  拳击手套需要手工加工,手背处开口,取出一些填充物以腾出位置给机芯。
将机芯连接好,最好再用具有缓冲性能的材料包裹起来,一是 arduino 为主要构
件的机芯锋利尖锐的边角很多,包裹起来避免划破手套。增加手套佩戴的舒适
感。另一方面拳击手套外设在使用过程中,会有剧烈震动,带有缓冲作用的包
裹材料可以保护机芯不受伤害,延长使用寿命。
  将机芯和手套都分别加工好之后,将机芯放置在手套刚才留出的空间里,
周围用填充材料补上多余空间,并用针线固定机芯位置,防止移动。将连接线
一端和机芯连接后,封口,固定线的末端。装置制作完毕。


4.4 装置说明书
   第一步,将外设装置拳击手套的 USB 插口插入计算机 USB hub
   第二步,将 serproxy.exe 双击打开,看到如下 cmd 窗口:




                 图 4-2 Serproxy 运行窗口

   第三步,打开游戏文件 boxgame_1.2.swf
   第四步,开始拳击!




                         24
浙江大学计算机科学与技术学院本科毕业设计报告        第 6 章 错误!文档中没有指定样式的文字。



              第5章 交互应用展示

5.1 应用展示概述
  拳击手套属于体感交互游戏,用户需要作出大幅度的游戏动作完成交互过
程。交互应用展示需要足够大的空间,一部分作为游戏区域,一部分作为展示
区,包括大屏幕、音响、主机等部分。展区区域暗光布置,凸显动画效果,并
让用户玩家更加沉浸游戏气氛中。


5.2 交互原型系统的实现
  笔记本作为电脑主机,运行程序之用。外接扩展屏幕,大的电脑显示器,
将游戏界面全屏扩展到大屏幕。另外外接音箱,凸显游戏音效。


5.3 交互作品的演示
   游戏界面运行时截图(如图 5-1 图 5-2 图 5-3 图 5-4 图 5-5 所示)




                 图 5-1 游戏运行截图 01


                         25
浙江大学计算机科学与技术学院本科毕业设计报告        第 6 章 错误!文档中没有指定样式的文字。




                图 5-2 游戏运行截图 02




                图 5-3 游戏运行截图 03




                         26
浙江大学计算机科学与技术学院本科毕业设计报告        第 6 章 错误!文档中没有指定样式的文字。




                图 5-4 游戏运行截图 04




                图 5-5 游戏运行截图 05




                         27
浙江大学计算机科学与技术学院本科毕业设计报告        第 7 章 错误!文档中没有指定样式的文字。



             第6章 毕业设计总结

6.1 收获
  毕业设计可是说是我本科阶段最为完整的一次项目经历,并且完全由独立
一人完成。这对我来说是很大的挑战。交互的选题出自于自身的兴趣,交互可
以将产品和界面结合起来,可以做的“很有意思”,所以我选了这个题目。但同
时做这类交互,既要有产品端的硬件开发,又有游戏端的软件开发,涵盖的点
非常多,工作量也很大。在这过程中,我体验了一次完成的项目是如可从立项、
到调研、再到设计方案的提出、修改、测试、定稿,最后到后期的可用性测试,
程序调试,版本控制与更新以及最终出样机产品。这一系列过程中,收获不仅
仅在于软硬件编程,界面设计,交互设计方面的提升,还有整个项目流程管理
的拿捏,做计划和计划执行种种方面。
  经过了这次毕业设计的洗礼,面对项目开发,更加胸有成竹。对于交互设
计、软件工程超越了以往仅仅限于课本的理解,有了更深层次的理解。


6.2 感悟
  要有攻克难题的勇气。有“不撞南墙不回头”的精神,才能有“峰回路转
疑无路,柳暗花明又一村”的豁然开朗。
  要学会调动手头的资源。可以是一个人做项目,但不意味着“闭门造车”。
看看别人在做些什么,有没有可以借鉴、学习之处。
  要有最后一刻的坚持。不要在成功前的一瞬间放弃,很多人的失败,就在
于少了“再试一分钟”的耐心。




                         28
浙江大学计算机学院本科毕业设计报告                                                        参考文献




                                参考文献


  [1] Raph Koster, a Theory of Fun [M]. 1st ed. Paraglyph Press, 2005.
  [2] 刘松涛(翻译),交互设计精髓[M], 3rd ed. 电子工业出版社,2008
  [3] http://blog.flamingoeda.com/ 2011-3-20
  [4]http://baike.baidu.com/ 百度百科 Wii, Xbox, ebox, Play Station 等词条




                                      29
浙江大学计算机学院本科毕业设计报告             致谢




                    致谢

  这份毕业设计得以顺利完成,我要衷心的感谢项目指导老师陈实老师,多
些您在毕业设计过程中给予我的指导、流程控制,并且和我讨论技术解决方案。
这过程让我获益匪浅。
  还有帮我检查设计方案,讨论技术解决途径,控制时间进度的柴老师,有
了这些,我的项目才得以按计划顺利地执行。谢谢您。
  同时还要感谢在这个过程所有帮助过我的人们,工业设计系的所有老师,
我的朋友们,是你们帮我查各种电子器件技术文档,查找元件购买地,还有很
多让我感动的事。谢谢你们所做的付出。




                    30
本科生毕业论文(设计)任务书
一、题目:
二、指导教师对毕业论文(设计)的进度安排及任务要求:




           起讫日期 200        年   月   日 至 200 年    月   日

                  指导教师(签名)                 职称
三、系或研究所审核意见:




                               负责人(签名)

                                   年   月   日




                      31
毕 业 论 文(设计)           考 核
一、指导教师对毕业论文(设计)的评语:




                         指导教师(签名)
                            年   月   日

二、答辩小组对毕业论文(设计)的答辩评语及总评成绩:




成绩比 中期报告     选题报告   外文翻译     毕业论文(设计) 总 评
例   占(10%)   占(20%) 占(10%)   质量及答辩    成绩
                             占(60%)
 分
 值


                     答辩小组负责人(签名)
                            年 月     日


                    32

More Related Content

What's hot

Ext 中文手册
Ext 中文手册Ext 中文手册
Ext 中文手册
donotbeevil
 
中国网页游戏市场研究报告
中国网页游戏市场研究报告中国网页游戏市场研究报告
中国网页游戏市场研究报告
AppLeap Inc.
 
Java eye新闻月刊 2011年01月 - 总第35期
Java eye新闻月刊   2011年01月 - 总第35期Java eye新闻月刊   2011年01月 - 总第35期
Java eye新闻月刊 2011年01月 - 总第35期
JianXiong Ma
 
东进D系列模拟中继语音处理板用户手册
东进D系列模拟中继语音处理板用户手册东进D系列模拟中继语音处理板用户手册
东进D系列模拟中继语音处理板用户手册
alidalee
 
Graduate Design - Nutrient
Graduate Design - NutrientGraduate Design - Nutrient
Graduate Design - Nutrient
Haoxiang Shen
 

What's hot (11)

080620-16461915
080620-16461915080620-16461915
080620-16461915
 
Ext 中文手册
Ext 中文手册Ext 中文手册
Ext 中文手册
 
中国网页游戏市场研究报告
中国网页游戏市场研究报告中国网页游戏市场研究报告
中国网页游戏市场研究报告
 
Java eye新闻月刊 2011年01月 - 总第35期
Java eye新闻月刊   2011年01月 - 总第35期Java eye新闻月刊   2011年01月 - 总第35期
Java eye新闻月刊 2011年01月 - 总第35期
 
符號學
符號學符號學
符號學
 
微積分
微積分微積分
微積分
 
东进D系列模拟中继语音处理板用户手册
东进D系列模拟中继语音处理板用户手册东进D系列模拟中继语音处理板用户手册
东进D系列模拟中继语音处理板用户手册
 
Graduate Design - Nutrient
Graduate Design - NutrientGraduate Design - Nutrient
Graduate Design - Nutrient
 
C8600 cn
C8600 cnC8600 cn
C8600 cn
 
無標記擴增實境實驗平台建置與追蹤技術驗證
無標記擴增實境實驗平台建置與追蹤技術驗證無標記擴增實境實驗平台建置與追蹤技術驗證
無標記擴增實境實驗平台建置與追蹤技術驗證
 
詹翔霖教授 100年提升勞工自主學習計畫作業手冊
詹翔霖教授 100年提升勞工自主學習計畫作業手冊詹翔霖教授 100年提升勞工自主學習計畫作業手冊
詹翔霖教授 100年提升勞工自主學習計畫作業手冊
 

Viewers also liked (9)

Gc presentation
Gc presentationGc presentation
Gc presentation
 
Gc presentation
Gc presentationGc presentation
Gc presentation
 
Design document
Design documentDesign document
Design document
 
Presentation
PresentationPresentation
Presentation
 
Design forelderly
Design forelderlyDesign forelderly
Design forelderly
 
Jtb
JtbJtb
Jtb
 
Future touchpresentation
Future touchpresentationFuture touchpresentation
Future touchpresentation
 
Presentation
PresentationPresentation
Presentation
 
Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得Arduino 底層原始碼解析心得
Arduino 底層原始碼解析心得
 

Similar to Design document

J Boss+J Bpm+J Pdl用户开发手册 3.2.3
J Boss+J Bpm+J Pdl用户开发手册 3.2.3J Boss+J Bpm+J Pdl用户开发手册 3.2.3
J Boss+J Bpm+J Pdl用户开发手册 3.2.3
yiditushe
 
Excel+ppt+word2003使用技巧方法大全
Excel+ppt+word2003使用技巧方法大全Excel+ppt+word2003使用技巧方法大全
Excel+ppt+word2003使用技巧方法大全
0hanfeng0
 
2007—2010 年中国led 外延片、芯片、显示屏市场(2)
2007—2010 年中国led 外延片、芯片、显示屏市场(2)2007—2010 年中国led 外延片、芯片、显示屏市场(2)
2007—2010 年中国led 外延片、芯片、显示屏市场(2)
xiongjianvlsi
 
飞机订票系统详细规格说明书
飞机订票系统详细规格说明书飞机订票系统详细规格说明书
飞机订票系统详细规格说明书
yiditushe
 
Java eye新闻月刊 -_2010年01月_-_总第23期
Java eye新闻月刊 -_2010年01月_-_总第23期Java eye新闻月刊 -_2010年01月_-_总第23期
Java eye新闻月刊 -_2010年01月_-_总第23期
JianXiong Ma
 
Memcached全面剖析
Memcached全面剖析Memcached全面剖析
Memcached全面剖析
chen vivian
 
Mini2440 Um 20090719
Mini2440 Um 20090719Mini2440 Um 20090719
Mini2440 Um 20090719
bdwilton
 
Mini2440 Um 20090817
Mini2440 Um 20090817Mini2440 Um 20090817
Mini2440 Um 20090817
obi
 
Mini2440 Um 20090817
Mini2440 Um 20090817Mini2440 Um 20090817
Mini2440 Um 20090817
guestadf50c
 

Similar to Design document (20)

聯網數位電錶-概念設計書
聯網數位電錶-概念設計書聯網數位電錶-概念設計書
聯網數位電錶-概念設計書
 
《云计算核心技术剖析》Mini书
《云计算核心技术剖析》Mini书《云计算核心技术剖析》Mini书
《云计算核心技术剖析》Mini书
 
J Boss+J Bpm+J Pdl用户开发手册 3.2.3
J Boss+J Bpm+J Pdl用户开发手册 3.2.3J Boss+J Bpm+J Pdl用户开发手册 3.2.3
J Boss+J Bpm+J Pdl用户开发手册 3.2.3
 
Micro2440 Um 20090817
Micro2440 Um 20090817Micro2440 Um 20090817
Micro2440 Um 20090817
 
Excel+ppt+word2003使用技巧方法大全
Excel+ppt+word2003使用技巧方法大全Excel+ppt+word2003使用技巧方法大全
Excel+ppt+word2003使用技巧方法大全
 
2007—2010 年中国led 外延片、芯片、显示屏市场(2)
2007—2010 年中国led 外延片、芯片、显示屏市场(2)2007—2010 年中国led 外延片、芯片、显示屏市场(2)
2007—2010 年中国led 外延片、芯片、显示屏市场(2)
 
飞机订票系统详细规格说明书
飞机订票系统详细规格说明书飞机订票系统详细规格说明书
飞机订票系统详细规格说明书
 
Java eye新闻月刊 -_2010年01月_-_总第23期
Java eye新闻月刊 -_2010年01月_-_总第23期Java eye新闻月刊 -_2010年01月_-_总第23期
Java eye新闻月刊 -_2010年01月_-_总第23期
 
080620-16461915
080620-16461915080620-16461915
080620-16461915
 
Flexsim handbook
Flexsim handbookFlexsim handbook
Flexsim handbook
 
Phpunit book
Phpunit bookPhpunit book
Phpunit book
 
Memcached
MemcachedMemcached
Memcached
 
Memcached
MemcachedMemcached
Memcached
 
Memcached
MemcachedMemcached
Memcached
 
Memcached全面剖析
Memcached全面剖析Memcached全面剖析
Memcached全面剖析
 
Mini2440 Um 20090719
Mini2440 Um 20090719Mini2440 Um 20090719
Mini2440 Um 20090719
 
Mini2440 Um 20090719
Mini2440 Um 20090719Mini2440 Um 20090719
Mini2440 Um 20090719
 
客户体验在电信产品开发中的应用与实践
客户体验在电信产品开发中的应用与实践客户体验在电信产品开发中的应用与实践
客户体验在电信产品开发中的应用与实践
 
Mini2440 Um 20090817
Mini2440 Um 20090817Mini2440 Um 20090817
Mini2440 Um 20090817
 
Mini2440 Um 20090817
Mini2440 Um 20090817Mini2440 Um 20090817
Mini2440 Um 20090817
 

Design document

  • 1. 本 科 生 毕 业 设 计 报 告 设计名称趣味减压交互拳击游戏及其外设设备的设计 姓名与学号 张文婷 3071102211 专 业 工业设计 0701 学 院 计算机学院
  • 2. A Dissertation Submitted to Zhejiang University for the Degree of Bachelor of Engineering TITLE: Fun Decompression Interactive Boxing Game and its Peripheral Equipment Design Author: Wenting Zhang Major: Industrial Design College: College of Computer Science Submitted Date: 5.31
  • 3. 浙江大学本科生毕业论文(设计)诚信承诺书 1.本人郑重地承诺所呈交的毕业论文(设计),是在指导教师的 指导下严格按照学校和学院有关规定完成的。 2.本人在毕业论文(设计)中引用他人的观点和参考资料均加以 注释和说明。 3. 本人承诺在毕业论文(设计)选题和研究内容过程中没有抄 袭他人研究成果和伪造相关数据等行为。 4. 在毕业论文(设计)中对侵犯任何方面知识产权的行为,由 本人承担相应的法律责任。 毕业论文(设计)作者签名: 年 月 日
  • 4. 浙江大学计算机科学与技术学院本科毕业设计报告 摘要 摘要 任天堂 Wii,Kinect 等游戏产品让电脑游戏进入到一个新的境界。不再局限 于屏幕和键盘鼠标,而是利用外设产生交互,调动起玩家每一个身体部分来全 身心的参与游戏,感受游戏。交互游戏是一个让人兴奋的新领域,充满着无限 的可能性。在仿真模拟现实的环境里,尽情的挥洒热情,感受快乐,是游戏行 业在未来几年的发展方向,这方面的创新设计,将会受到更多人的青睐,带来 更多的附加值。 本课题着力探讨体感游戏在关注高压人群,给人们提供合理发泄、健康减压 方式方面的应用。通过将交互技术、体感游戏引入我的课题,并将这些元素整 合起来,形成一个集趣味性、功效性一体的实用型设计——减压拳击手套。这 项设计包括桌面端得游戏程序和利用三轴加速度传感器制作的外设端拳击手 套。 关键词 交互设计、游戏设计、Arduino、Flash、体感游戏 I
  • 5. 浙江大学计算机科学与技术学院本科毕业设计报告 Abstract Abstract Game products like Wii, Kinect have brought computer games to a whole new level. No longer restrict to screen, keyboard and mouse, but using techniques like sensors to interact with games, make the player completely immersed in the game. Somatic Game is absolutely an exciting new area which is full of possibilities. And it will be the trend of game industry. Innovative design in this area will be paid more attention by public and brings more values. In this project, I discussed how somatic games will be designed to supply a new healthy way for people to vent their emotions and ease their pressure. By combining interaction techniques and somatic games to my project, I put all these elements together and make an entertaining but also with functionality product --- Fun Decompression Interactive Boxing Game and its Peripheral Equipment. This product design consists of a game program on desktop and a peripheral equipment boxing gloves using acceleration sensor. Keywords Interactive design; Game design; Arduino; Flash; II
  • 6. 浙江大学计算机科学与技术学院本科毕业设计报告 目录 目录 摘要 ............................................................................................................ I Abstract .................................................................................................... II 第 1 章 项目背景 ..................................................................................... 1 1.1 绪论 ................................................................................................................. 1 1.2 项目背景 ......................................................................................................... 1 第 2 章 设计调研 ..................................................................................... 2 2.1 交互技术和装置产品现状 ............................................................................. 2 2.2 用户需求 ......................................................................................................... 2 2.2.1 设计的产生背景 ..................................................................................................2 2.2.2 设计目的 ..............................................................................................................2 2.2.3 用户需求分析 ......................................................................................................3 2.3 软硬件开发平台 ............................................................................................. 5 2.3.1 硬件开发平台 ......................................................................................................5 2.3.2 软件开发平台 ......................................................................................................6 2.4 装置功能 ......................................................................................................... 6 2.4.1 桌面端实现功能 ..................................................................................................6 2.4.2 外设端实现功能 ..................................................................................................7 2.5 用户人群 ......................................................................................................... 7 2.6 使用环境 ......................................................................................................... 7 2.7 装置结构 ......................................................................................................... 8 2.7.1 使用模式图 ..........................................................................................................8 2.7.2 线路原理图 ..........................................................................................................8 2.8 交互技术 ......................................................................................................... 9 2.8.1 体感交互技术 ......................................................................................................9 2.8.2 Flash 游戏交互 .....................................................................................................9 2.9 设计思路 ......................................................................................................... 9 2.10 技术难点 ....................................................................................................... 9 III
  • 7. 浙江大学计算机科学与技术学院本科毕业设计报告 目录 2.10.1 提取动作数据 ....................................................................................................9 2.10.2 动作捕捉算法优化 ..........................................................................................10 2.10.3 Flash 程序与串口之间的通信..........................................................................10 2.10.4 基于 Actionscript2.0 的 Flash 游戏制作 .........................................................10 第 3 章 设计创意 ................................................................................... 11 3.1 设计准则与创意效果图 ................................................................................11 3.1.1 设计准则 ............................................................................................................ 11 3.1.2 创意效果图 ........................................................................................................12 3.2 交互逻辑与功能 ........................................................................................... 12 3.2.1 交互逻辑 ............................................................................................................12 3.3 交互方式与流程 ........................................................................................... 13 3.3.1 交互方式 ............................................................................................................13 3.3.2 交互流程 ............................................................................................................13 3.4 人机界面示意图 ........................................................................................... 13 3.5 技术原理 ....................................................................................................... 14 3.5.1 桌面端游戏程序的实现 ....................................................................................14 3.5.2 游戏外设端解决方案 ........................................................................................15 3.6 色彩计划 ....................................................................................................... 17 3.6.1 第一版本的色彩计划——卡通配色 ................................................................17 3.6.2 第二版本的色彩计划——适用于发泄减压的配色(采用版).....................17 3.7 应用场合 ....................................................................................................... 18 3.7.1 应用场合一——办公室 ....................................................................................18 3.7.2 应用场合二——寝室、家中 ............................................................................18 第 4 章 工程化设计与技术实现........................................................... 19 4.1 装置结构系统图 ........................................................................................... 19 4.2 关键算法与技术 ........................................................................................... 19 4.2.1 外设端 arduino 烧录程序关键算法 ..................................................................19 4.2.2 Flash 游戏程序关键代码 ...................................................................................22 4.3 模型制作 ....................................................................................................... 23 4.4 装置说明书 ................................................................................................... 24 IV
  • 8. 浙江大学计算机科学与技术学院本科毕业设计报告 目录 第 5 章 交互应用展示 ........................................................................... 25 5.1 应用展示概述 ............................................................................................... 25 5.2 交互原型系统的实现 ................................................................................... 25 5.3 交互作品的演示 ........................................................................................... 25 第 6 章 毕业设计总结 ........................................................................... 28 6.1 收获 ............................................................................................................... 28 6.2 感悟 ............................................................................................................... 28 参考文献 ................................................................................................. 29 致谢 ......................................................................................................... 30 V
  • 9. 浙江大学计算机科学与技术学院本科毕业设计报告 第 1 章 错误!文档中没有指定样式的文字。 第1章 项目背景 1.1 绪论 现代生活的快节奏,高压力,让很多都市人群无所适从。面对紧张的工作、 学习,高压成为很多人生活中的困扰。抗压能力成为一项重要的能力指标。能 够在高压下保持正面积极的生活态度,高效率的完成工作、学习,会带来额外 的竞争力。同时保持一个从容、乐观的心态,也对健康至关重要。 设计的使命,在于通过一系列巧思安排,让人们的生活收获更多的幸福, 更高的生活品质。如何让人们以积极地方式发泄负面情绪,健康减压,成为了 我毕业设计的课题。 除了解决人们面临高压无法排解的生活问题,我还要将交互技术、体感游 戏引入我的课题,将这些元素整合起来,形成一个集趣味性、功效性一体的实 用型设计。 1.2 项目背景 Wii,kinect 等体感游戏的火热和兴起,让人们体验到高科技带来的新鲜互 动体验,不仅如此,体感游戏改变了传统游戏的娱乐模式,调动起玩家的神经 细胞、运动细胞共同作用,让玩家更加沉浸其中,参与形式更加活跃,参与度 更高。 Wii, kinect 等产品注重娱乐方面的表现,但没有涉及其他功效性的领域, 这就给我的课题带来了一个全新的视角:利用体感游戏,做不仅仅是娱乐的事 情。除了乐趣,更关注心理健康问题,赋予体感游戏有了新的意义。 1
  • 10. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 第2章 设计调研 2.1 交互技术和装置产品现状 任天堂 Wii,XBOX 等游戏产品让电脑游戏进入到一个新的境界。不再局限 于屏幕和键盘鼠标,而是利用外设产生交互,调动起玩家每一个身体部分来全 身心的参与游戏,感受游戏。交互游戏是一个让人兴奋的新领域,充满着无限 的可能性。在仿真模拟现实的环境里,尽情的挥洒热情,感受快乐,是游戏行 业在未来几年的发展方向,这方面的创新设计,将会受到更多人的青睐,带来 更多的附加值。 2.2 用户需求 2.2.1 设计的产生背景 2.2.1.1 现代都市人压力沉重  上班族承受繁重的工作压力  生活节奏急促  城市昂贵的物价水平  居高不下的房价  工资涨幅跟不上房价﹑物价  升学﹑考试压力 2.2.1.2 都市压力日积月累,得不到释放  对身心健康造成损害 2.2.2 设计目的 游戏存在的目的和价值,主要些给人们带去快乐。游戏是一种很好的放松的 方式——既不像看电视节目那样单纯的做着信息输入的过程,也不像运动让人 疲累,既有一定的运动量锻炼身体,又有适量信息输出需求让玩家保持脑部活 动。 而游戏,早已不是专为孩童而存在,成年人对快乐的需求,更为强烈。现在 都市白领就面临着很大的工作、生活压力,需要压力释放的出口,游戏就是很 好的载体。 在于给人们带去幸福的体验,这是做好设计的真谛。给都市“高压”人口舒 缓压力,发泄情绪,带去健康的心理,即是这款设计的目的。 2
  • 11. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 2.2.3 用户需求分析 2.2.3.1 识别客户的需求 —— 访谈法 利用访谈法,选择有代表性的个体进行深度访谈,从谈话问答中挖掘潜在 需求。访谈对象图 2-1 所示: 图 2-1 访谈对象 杜欣雨:知名国际化妆品公司员工,销售,白领阶层。 访谈间她提到,因为销售行业薪资与业绩挂钩,经济不景气常常销售业绩 也跟着下滑,办公室里同事们经常会遇到压力过大的状况。而他们有时找不到 压力释放的出口,常常导致心情郁闷,工作效率不高。 郑好:知名金融机构,投资顾问,白领。 郑好的工作大部分时间都在写字楼里,金融行业竞争激烈,加班是常有的 事,工作时间长而强度大,她和她身边的同事也经受压力的困扰。她提到,有 时候有的同事会去楼梯口抽烟来缓解压力,但显然这不是一个好方法。下班后 去健身也是一个途径,但是常常由于时间上的问题没有办法去健身房。 根据对两位潜在目标用户的深度专访,我们总结出以下的一个潜在需求: 写字楼里工作的白领对缓解工作压力相关产品的需求。 访谈结果如图 2-2,图 2-3 所示: 3
  • 12. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 图 2-2 访谈结果表格——压力的恶性循环 图 2-3 访谈结果表格——得出产品结果 2.2.3.2 调查设计草案的用户接受度——问卷调查(如图 2-4 所示) 图 2-4 问卷调查流程 4
  • 13. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。  市场接受程度: 地点:欧莱雅办公室 样本总量:30 个对象 大家在工作中都会遇到苦闷的事情,需要发泄。通常方法是 K 歌,喝酒, 找朋友聊天,睡觉,买东西等。如果出现一种排压玩具,24 人选择会购买。  市场容量(如图 2-5 所示)  目标市场:上海、北京、广州等的发达城市  目标顾客:工作紧凑,压力大的都市白领  目标渠道:团购、网购等 图 2-5 市场容量表格  市场现有类似产品  微软 XBOX 360  任天堂 Wii  Sony Play Station 3  联想 3D 人体动作交互游戏机 eBox 2.3 软硬件开发平台 2.3.1 硬件开发平台  基于 ATMega318 的 Arduino start kit(Arduino 开发者套件)  ADXL345 三轴加速度传感器 5
  • 14. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 2.3.2 软件开发平台  flash/actionscript2.0  serial proxy 串口通信代理  XML 与 flash 通讯协议  设计分析定位 2.4 装置功能 整个游戏系统由两部分构成:电脑桌面游戏端和游戏外设端。桌面端游戏 部分着重于视觉表现,通过击打效果的展现,让玩家体验到击打和发泄的快感, 以达到情感压力发泄的目的。游戏外设的功能则是捕捉玩家的击打动作,精确 判定并转化成数字化信息传递给计算机桌面端程序。 2.4.1 桌面端实现功能 桌面端游戏程序可以设定击打对象,比如内部设置可选择的卡通形象。击 打对象分为各种不同的类型,将那些将现实中愤怒情绪的制造者或者压力源的 真实形象夸张扭曲卡通化,变成夸张有趣的人物造型,更好地缓解压力,同时 也起到转移负面情绪的作用,巧妙化解怨恨或者愤怒,帮助形成健康的心理状 态,调节人际关系。 除了击打对象形象的设定外,还可以辅佐以击打效果的音效,比如滑稽的 惨叫声,求饶声等等。这些音效,会起到调节气氛的作用。将愤怒、紧张等负 面情绪转化成欢笑和满足感。滑稽的音效还会让人从高压、紧张的状态中暂时 解放出来,转移注意力,轻松幽默间化解负面的情绪。 在构思过程中,我曾经考虑过让用户自己加载击打对象真人照片,甚至进 一步增加仿制真人音效等功能。这里涉及到音频处理的一些复杂过程,需要透 露一段显示中发泄对象的说话音频,通过音频处理得到其特征,再根据这些提 取到得特征模拟他求饶、惨叫的声音,在游戏中击打动作产生的同时播放,以 满足玩家泄愤的满足感。 但这样的方案经过我进一步的思考就被我否定了。我认为,设计应该是会 给人带来幸福感觉的,而不是相反——给人们增加负面情感的。而这种“真人 秀”的做法就会在心理角度上产生这样的副作用。将目标特定化,现实化,只 会在发泄的过程中不断的深化这种负面情绪,提醒玩家不断回忆痛苦的人际交 6
  • 15. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 往经历。产生人际交往中挫败感和对这特定对象进一步的愤怒乃至仇恨。这种 功能的增加起到的是一个副作用。是“非设计”的想法。同时,大大增加了开 发的成本。音频处理技术是一个难关,另外照片上传为了展示效果,还需要加 一个抠图的过程。抠图在背景不负责的情况下不难实现。有一个小程序可以通 过用户两三下的鼠标操作再加上程序算法计算比较完美地实现抠图,但是这减 低了程序运行的效率,并且添加了两三步多余的选择操作,在交互体验上是一 个负效果。处于这两方面的考虑,我决定放弃这种想法和方案。 2.4.2 外设端实现功能 游戏外设端十分类似于任天堂的 Wii 游戏机。Wii 是通过一个外设手柄实现 用户动作的感知和输入,实现在桌面端游戏中的虚拟,达到一种虚拟现实的游 戏体验。我的设计中,外设拳击手套和 Wii 手柄十分类似。但更加针对性和精简。 我面对的是一个特定的用户群体,以求达成一个非常细化的功能目标,只需要 一个加速度传感器来实现交互过程。另外,这个外设还包括与加速度传感器配 套的硬件运行环境和信号发射模块,电脑端与之对应地还有一个信号接收模块。 2.5 用户人群 通过设计调研得出结论,这款产品设计主要面对的对象是城市高压人群, 如白领、学生等。他们面临的学习、工作、生活压力大, 需要健康的减压方式。  白领  学生  其他城市高压人群 2.6 使用环境  办公室  学生寝室  其他娱乐场所 7
  • 16. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 2.7 装置结构 2.7.1 使用模式图 图 2-6 使用模式图 2.7.2 线路原理图 图 2-7 线路原理图 8
  • 17. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 2.8 交互技术 2.8.1 体感交互技术 体感交互技术是目前运用十分广泛,非常热门的交互技术。Wii,Kinect 等 都是体感交互技术具体应用的代表。 本设计采用的技术也属于体感交互技术的一种,通过传感器捕捉体感数据, 进行游戏交互的过程。 2.8.2 Flash 游戏交互 Flash 是进行用户交互很好的平台。在互联网、小游戏等领域都有广泛的应 用。本产品的桌面端即时一个有用户交互的小游戏。用户游戏外设和 flash 游戏 端产生交互过程,这种设计有助于提高游戏的趣味性。 2.9 设计思路 从用户需求出发,分析特定群体人群的需求,例如:办公室白领、学生等 高压人群需要一种健康、有趣的减压排压方式。就从这个需求点出发,探讨满 足这种需求,解决此类问题的若干种解决方法。通过进行头脑风暴,首先提出 尽量多,尽量不同的解决方案,然后进行设计准则下的方案评估比较,选出在 遵从的设计准则下,最符合评判标准的方案做进一步的深入探讨,用户测试, 方案修改,反复敲定得出最终设计方案。 2.10 技术难点 2.10.1 提取动作数据 通过加速度传感器捕捉即时加速度数据,需要基于 arduino 开发套件搭起来 的运行环境,提供的数据输入输出口,数据寄存器记录下数据。 选择合适灵敏度的三轴加速度传感器是关键,第一次选用了飞思卡尔 MMA7260 加速度传感器,但是由于精度问题和模拟信号而不是数字信号两个问 题放弃,转而使用 adxl345 传感器。adxl345 三轴加速度传感器在拳击动作产生 的加速度大致范围内灵敏度较好,得到数据区间打,易于捕捉动作特征,对无 关数据进行滤波;并且 adxl345 同时支持数字信号输出和模拟信号输出两种模式。 9
  • 18. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 2.10.2 动作捕捉算法优化 拳击动作的动作特征加速度持续增长,加速度趋于最大值时为判定值。但 拳击动作的特征不能仅仅靠加速度大小判定,一个拳击动作会产生一个序列的 加速度值,其中比较大的值会有若干个。但是一个拳击动作只能被判定一次。 我们就要提取出一个判定一次拳击动作的数据特征。并且将这个动作判定算法 优化,提高判定准确度和判定效率。 2.10.3 Flash 程序与串口之间的通信 Flash 基于安全因素考虑,本身不支持程序与串口直接通信。而这个设计中 的交互桌面端正是一个基于 flash 的游戏,解决游戏程序与串口之间的通信,将 游戏外设端——拳击手套中的加速度传感器捕捉到得数据传输到游戏端是一个 难点。 本设计中采用 serproxy 通信代理来实现 flash 与串口的间接通信。 2.10.4 基于 Actionscript2.0 的 Flash 游戏制作 Actionscript2.0 不像我比较熟悉的 actionscript3.0,并不是完全意义上的面向 对象编程语言,它的事件机制比较特殊而且难以理解。虽然熟悉 flash 的操作和 actionscript3.0 语言,actionscript2.0 的游戏编程仍然是这次项目中一个技术难点。 10
  • 19. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 第3章 设计创意 3.1 设计准则与创意效果图 3.1.1 设计准则 3.1.1.1 从用户需求出发的设计(创意过程) 从用户需求出发进而产生设计创意,用设计解决真实存在的问题、改善人 们的生活品质。小设计,带来大改变。 3.1.1.2 简单设计原则(设计过程) 在产品设计的过程中,设计方案在不断被探讨、修改的过程中,遵循简单 设计的原则。设计方案在演变的过程中,尽量避免向复杂、臃肿的方向发展,保 持简洁、直奔主题的设计风格。 3.1.1.3 用户体验至上的设计(测试过程) 产品方案确定,产品最终实现后,验收测试过程要遵从用户体验至上的准 则。所有的功能、效果都是为了提供更佳的用户体验。可用性、易用性、是设 计所主要追求的价值观。 11
  • 20. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 3.1.2 创意效果图 图 3-1 创意效果图 3.2 交互逻辑与功能 3.2.1 交互逻辑 本产品设计由两部分组成:外设设备——即内置加速度传感器的拳击手套; 和桌面游戏端——flash 拳击游戏组成。交互逻辑比较简单直白,如下文描述:  用户带上手套,用力挥拳,产生较大的加速度。由物理公式:加速度 a = 力 F/质量 m 可知,挥拳动作用力越大,加速度越大。  加速度的即时数值存储在 arduino 套件的寄存器内,并在同时不断的通 过 USB 接口通过串口输入到计算机。  通过 serproxy,flash 得以和串口通信,取到测得的加速度即时数值。  通过动作特征的捕捉算法,从连续的加速度数值序列中,判定出一次次 的拳击动作,并通过加速度大小,进行 5 级分级(事实上在本设计中,动作特 征捕捉和分级的工作由 arduino 的核心处理器 ATMEGA318 进行。arduino board 12
  • 21. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 烧录进去的 C 代码,已经进行了这一系列判定工作,然后直接通过串口将判定 结果传输给 flash)  不同的分级,触发不同的 flash 得分机制和动画效果。累计计算得分,完 成整个游戏过程。 3.3 交互方式与流程 3.3.1 交互方式 用户挥拳,flash 游戏产生不同的评分和击打效果。 3.3.2 交互流程 挥拳->数据采集->数据流滤波,特征捕捉,产生力度分级数据 1 至 5->数据 传输->flash 游戏程序接收数据->游戏动画展示交互效果 3.4 人机界面示意图  选择击打目标界面 图 3-2 选择击打目标界面  选择击打场景界面 13
  • 22. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 图 3-3 选择击打场景界面  游戏开始界面 图 3-4 游戏开始界面 3.5 技术原理 3.5.1 桌面端游戏程序的实现 桌面端游戏程序,主要实现的一个是击打效果,包括视觉效果和音效,另 一方面是对游戏场景和击打对象的选择。实现的功能比较简单,注重视觉效果 14
  • 23. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 的体现。用 Flash+actionscript3.0 来制作这样的游戏端比较适合,技术上实现相 对简便,同时在效果上有交互额体验。 进入游戏程序,首先是默认的场景与击打对象。菜单栏有三个按钮,开始 游戏,选择场景,选择对象。如果点击开始游戏,将在默认的场景的对象设置 下开始游戏。点击选择场景,将会出现场景选择栏,场景选项将以缩略图形式 呈现。点击选择对象将会出现打击对象选择栏。 击打时,会对击打对象产生各种层级的击打效果,我搜集了各种卡通化地 击打效果,通过幅度大小分为若干等级,对应不同的击打力度呈现。如图 3-5 所示: 图 3-5 各种击打效果 3.5.2 游戏外设端解决方案 击打的动作会产生加速度,加速度越大说明击打越用力。利用这一点事实, 我可以在外设拳击手套里植入一片加速度传感器芯片,用来测量实时的运动加 速度。将加速度的值传输入电脑,被游戏程序调用,通过加速度值的大小来判 定打击效果。 游戏外设用到的单片机和传感器器件最主要的有以下三种: Arduino 328 控制板,如图图 3-6 所示; Prototype shield 扩展板,如图图 3-7 所示; ADXL345 三轴加速度传感器,如果图 3-8 所示。 15
  • 24. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 图 3-6 Arduino 328 控制板 图 3-7 Prototype shield 扩展板 16
  • 25. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 图 3-8 ADXL345 三轴加速度传感器 3.6 色彩计划 3.6.1 第一版本的色彩计划——卡通配色 #CD000C #7DBEDE #F5D312 #DFE5E6 图 3-9 卡通配色 3.6.2 第二版本的色彩计划——适用于发泄减压的配色(采用版) #E70F47 #2D3F57 #FE4819 #6A5B46 #FFC82E 图 3-10 适用于发泄减压的配色 17
  • 26. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 3.7 应用场合 3.7.1 应用场合一——办公室 使用对象:白领 应用环境:办公室隔间 使用情景:长时间工作,感到困倦时;刚收到上司或同事的不公正待遇心 情不佳时;工作阻碍重重陷入困境,满腹牢骚时„„这些时刻,拿出拳击手套, 简简单单,USB 插口连接电脑,双击游戏,开始放松、减压、发泄吧! 3.7.2 应用场合二——寝室、家中 使用对象:学生 应用环境:寝室或家中,电脑桌前 使用情景:考试来临,学习压力过大时;得不到老师的肯定,家长的鼓励, 学习缺乏动力时;长时间学习,感到困乏无力时„„这些时刻,拿出拳击手套, 简简单单,USB 插口连接电脑,双击游戏,开始放松、减压、发泄吧 18
  • 27. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 第4章 工程化设计与技术实现 4.1 装置结构系统图 图 4-1 装置结构系统图 4.2 关键算法与技术 4.2.1 外设端 arduino 烧录程序关键算法 19
  • 28. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 #include <Wire.h> #define Pin_CS 3 #define Pin_INT2 6 #define Pin_INT1 7 #define Register_ID 0 #define Register_2D 0x2D #define Register_X0 0x32 #define Register_X1 0x33 #define Register_Y0 0x34 #define Register_Y1 0x35 #define Register_Z0 0x36 #define Register_Z1 0x37 #define Register_OFSX 0x1E #define Register_OFSY 0x1F #define Register_OFSZ 0x20 int ADXAddress = 0xA7 >> 1; // the default 7-bit slave address int reading = 0; int val=0; int X0,X1,X_out,X_OFFS; int Y0,Y1,Y_out,Y_OFFS; int Z1,Z0,Z_out,Z_OFFS; double Xg,Yg,Zg,x_offs,y_offs,z_offs; int int1; int Sg; int Og; void setup() { pinMode(Pin_INT1,INPUT); pinMode(Pin_INT2,INPUT); Wire.begin(); Serial.begin(9600); delay(100); Wire.beginTransmission(ADXAddress); Wire.send(Register_2D); Wire.send(8); //measuring enable Wire.endTransmission(); // stop transmitting } void loop() { Wire.beginTransmission(ADXAddress); // transmit to device Wire.send(Register_X0); Wire.send(Register_X1); Wire.endTransmission(); 20
  • 29. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 Wire.requestFrom(ADXAddress,2); if(Wire.available()<=2) { X0 = Wire.receive(); X1 = Wire.receive(); X1=X1<<8; X_out=X0+X1; } Wire.beginTransmission(ADXAddress); // transmit to device Wire.send(Register_Y0); Wire.send(Register_Y1); Wire.endTransmission(); Wire.requestFrom(ADXAddress,2); if(Wire.available()<=2) { Y0 = Wire.receive(); Y1 = Wire.receive(); Y1=Y1<<8; Y_out=Y0+Y1; } Wire.beginTransmission(ADXAddress); // transmit to device Wire.send(Register_Z0); Wire.send(Register_Z1); Wire.endTransmission(); Wire.requestFrom(ADXAddress,2); if(Wire.available()<=2) { Z0 = Wire.receive(); Z1 = Wire.receive(); Z1=Z1<<8; Z_out=Z0+Z1; } //----------------转换成 G 值 Xg=X_out/256.0; Yg=Y_out/256.0; Zg=Z_out/256.0; x_offs=Register_OFSX*2.0/127; y_offs=Register_OFSY*2.0/127; z_offs=Register_OFSZ*2.0/127; Sg = Xg*Xg + Yg*Yg + Zg*Zg; //---------------计算和加速度的平方。取消击打的方向 性 // Og 存储上一个加速度值,由于加速度是一系列连续的值,如果此加速度比上一个加速度值小 2, //输出该数据。并通过 if else 语句判定击打力度的级别。共有 5 个级别。 21
  • 30. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 if((Sg+2)<Og) { if(Og > 3 & Og <= 5 ) { Serial.print(1); Serial.println(0,BYTE); } else if (Og > 5 & Og <= 7 ) { Serial.print(2); Serial.println(0,BYTE); } else if (Og > 7 & Og <= 9) { Serial.print(3); Serial.println(0,BYTE); } else if (Og > 9 & Og <= 10) { Serial.print(4); Serial.println(0,BYTE); } else if (Og > 10) { Serial.print(5); Serial.println(0,BYTE); } } Og = Sg; //这次的和加速度平方值赋值给 Og } 4.2.2 Flash 游戏程序关键代码 //建立物件 aListener = new Object(); aListener.onConnect = function() { //与 arduino 连线 trace("OK"); } aListener.onConnectError = function() { //连线失敗 trace("Failed"); } aListener.onDisconnect = function() { 22
  • 31. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 //失去连线 trace("disconnected"); } //,并建立 5334 port var a:Arduino = new Arduino(5333); a.addEventListener("onConnect",aListener); a.addEventListener("onConnectError",aListener); a.addEventListener("onDisconnect",aListener); a.addEventListener("onReceiveData",aListener); var life:Number = 200; left._text = life; //peopleplace.attachMovie("people01","people1",1); peopleplace.loadMovie("people01.swf",1) //接收从 Arduino 的数值 aListener.onReceiveData = function(evtObj:Object){ //取得 Arduino 的值 var ArduinoInt:Number = evtObj.data; var x:Number = ArduinoInt; //if else 语句识别击打力量级别,调用不同的击打效果。 if (x == "1"){ newscore.unloadMovie(3); newscore.unloadMovie(2); newscore.loadMovie("score5.swf",2);//将评分动画 load 进来,五个等级对应 5 支动 画 effplace1.loadMovie("eff01.swf",3); //将击打效果动画 load 进来,五个等级对应不 同的击打效果 life -= 2; } else if (x == "2"){ … } … 4.3 模型制作  外设设备的制作 外设设备由 3 部分组成,拳击手套、机芯和电脑连接线。 首先机芯主要组件是 arduino board,另外将 adxl345 三轴加速度传感器用点 咯铁焊在小块的 PCB 版上,与 arduino board 的对应输入输出口也通过排针焊接 23
  • 32. 浙江大学计算机科学与技术学院本科毕业设计报告 第 5 章 错误!文档中没有指定样式的文字。 连接。排针与 adxl345 焊牢,插入到 arduino board 的对应输入口,这样易于拆卸 和维修。 拳击手套需要手工加工,手背处开口,取出一些填充物以腾出位置给机芯。 将机芯连接好,最好再用具有缓冲性能的材料包裹起来,一是 arduino 为主要构 件的机芯锋利尖锐的边角很多,包裹起来避免划破手套。增加手套佩戴的舒适 感。另一方面拳击手套外设在使用过程中,会有剧烈震动,带有缓冲作用的包 裹材料可以保护机芯不受伤害,延长使用寿命。 将机芯和手套都分别加工好之后,将机芯放置在手套刚才留出的空间里, 周围用填充材料补上多余空间,并用针线固定机芯位置,防止移动。将连接线 一端和机芯连接后,封口,固定线的末端。装置制作完毕。 4.4 装置说明书  第一步,将外设装置拳击手套的 USB 插口插入计算机 USB hub  第二步,将 serproxy.exe 双击打开,看到如下 cmd 窗口: 图 4-2 Serproxy 运行窗口  第三步,打开游戏文件 boxgame_1.2.swf  第四步,开始拳击! 24
  • 33. 浙江大学计算机科学与技术学院本科毕业设计报告 第 6 章 错误!文档中没有指定样式的文字。 第5章 交互应用展示 5.1 应用展示概述 拳击手套属于体感交互游戏,用户需要作出大幅度的游戏动作完成交互过 程。交互应用展示需要足够大的空间,一部分作为游戏区域,一部分作为展示 区,包括大屏幕、音响、主机等部分。展区区域暗光布置,凸显动画效果,并 让用户玩家更加沉浸游戏气氛中。 5.2 交互原型系统的实现 笔记本作为电脑主机,运行程序之用。外接扩展屏幕,大的电脑显示器, 将游戏界面全屏扩展到大屏幕。另外外接音箱,凸显游戏音效。 5.3 交互作品的演示  游戏界面运行时截图(如图 5-1 图 5-2 图 5-3 图 5-4 图 5-5 所示) 图 5-1 游戏运行截图 01 25
  • 34. 浙江大学计算机科学与技术学院本科毕业设计报告 第 6 章 错误!文档中没有指定样式的文字。 图 5-2 游戏运行截图 02 图 5-3 游戏运行截图 03 26
  • 35. 浙江大学计算机科学与技术学院本科毕业设计报告 第 6 章 错误!文档中没有指定样式的文字。 图 5-4 游戏运行截图 04 图 5-5 游戏运行截图 05 27
  • 36. 浙江大学计算机科学与技术学院本科毕业设计报告 第 7 章 错误!文档中没有指定样式的文字。 第6章 毕业设计总结 6.1 收获 毕业设计可是说是我本科阶段最为完整的一次项目经历,并且完全由独立 一人完成。这对我来说是很大的挑战。交互的选题出自于自身的兴趣,交互可 以将产品和界面结合起来,可以做的“很有意思”,所以我选了这个题目。但同 时做这类交互,既要有产品端的硬件开发,又有游戏端的软件开发,涵盖的点 非常多,工作量也很大。在这过程中,我体验了一次完成的项目是如可从立项、 到调研、再到设计方案的提出、修改、测试、定稿,最后到后期的可用性测试, 程序调试,版本控制与更新以及最终出样机产品。这一系列过程中,收获不仅 仅在于软硬件编程,界面设计,交互设计方面的提升,还有整个项目流程管理 的拿捏,做计划和计划执行种种方面。 经过了这次毕业设计的洗礼,面对项目开发,更加胸有成竹。对于交互设 计、软件工程超越了以往仅仅限于课本的理解,有了更深层次的理解。 6.2 感悟 要有攻克难题的勇气。有“不撞南墙不回头”的精神,才能有“峰回路转 疑无路,柳暗花明又一村”的豁然开朗。 要学会调动手头的资源。可以是一个人做项目,但不意味着“闭门造车”。 看看别人在做些什么,有没有可以借鉴、学习之处。 要有最后一刻的坚持。不要在成功前的一瞬间放弃,很多人的失败,就在 于少了“再试一分钟”的耐心。 28
  • 37. 浙江大学计算机学院本科毕业设计报告 参考文献 参考文献 [1] Raph Koster, a Theory of Fun [M]. 1st ed. Paraglyph Press, 2005. [2] 刘松涛(翻译),交互设计精髓[M], 3rd ed. 电子工业出版社,2008 [3] http://blog.flamingoeda.com/ 2011-3-20 [4]http://baike.baidu.com/ 百度百科 Wii, Xbox, ebox, Play Station 等词条 29
  • 38. 浙江大学计算机学院本科毕业设计报告 致谢 致谢 这份毕业设计得以顺利完成,我要衷心的感谢项目指导老师陈实老师,多 些您在毕业设计过程中给予我的指导、流程控制,并且和我讨论技术解决方案。 这过程让我获益匪浅。 还有帮我检查设计方案,讨论技术解决途径,控制时间进度的柴老师,有 了这些,我的项目才得以按计划顺利地执行。谢谢您。 同时还要感谢在这个过程所有帮助过我的人们,工业设计系的所有老师, 我的朋友们,是你们帮我查各种电子器件技术文档,查找元件购买地,还有很 多让我感动的事。谢谢你们所做的付出。 30
  • 39. 本科生毕业论文(设计)任务书 一、题目: 二、指导教师对毕业论文(设计)的进度安排及任务要求: 起讫日期 200 年 月 日 至 200 年 月 日 指导教师(签名) 职称 三、系或研究所审核意见: 负责人(签名) 年 月 日 31
  • 40. 毕 业 论 文(设计) 考 核 一、指导教师对毕业论文(设计)的评语: 指导教师(签名) 年 月 日 二、答辩小组对毕业论文(设计)的答辩评语及总评成绩: 成绩比 中期报告 选题报告 外文翻译 毕业论文(设计) 总 评 例 占(10%) 占(20%) 占(10%) 质量及答辩 成绩 占(60%) 分 值 答辩小组负责人(签名) 年 月 日 32