几个高中生从零开始,做了一款免费的性教育游戏(2)
时间:2019-02-15 18:57 来源:百度新闻 作者:巧天工 点击:次
Unity支持C#语言,由于我对Unity的C#环境还不是很熟悉并且开发周期比较紧迫,我这边使用了一款叫做PlayMaker的插件。这款插件我极力推荐,很适合初学者,对代码一窍不通的人,或者就是像我一样懒得去翻Unity的api库想要直接开干做游戏的人。它可以让我不去使用代码而是使用可视化代码块来解决一些事情,但是在使用它之前尽量还是要掌握基本的编程知识,毕竟这个插件只是帮你省去了构建诸如videoPlayer A = new videoPlayer(GameObject.findByTag("A"));(我不知道有没有这种方法和用法,但是大意差不多)的变量或方法。 保存当前章节的当前节点,读取存档内容并载入存档章节中的存档节点,新游戏 每个节点都有一串字符串标识,比如说第一个章节的第二个节点就是”102“游戏系统会在开始的时候检测存档文件有没有这串字符串,如果没有的话就是新游戏,如果有的话就会读取相应的节点。我使用了一款叫做EasySave3的插件,这个插件能够让你很方便的实现存档功能,推荐一下。 对话框将会在每段节点(视频)结束后弹出,选择不同的选项将会触发(播放)不同的节点(视频) 游戏种有许多视频和对话框,我选择把他们都存在数组里面。通过平行数组的方式(平行数组其实不好,如果我用代码写的话会写一个Class去代替平行数组)触发这些视频和对话框。当电脑检测到一段视频播放完毕,就会去触发相对应的对话框数组中的对应元素,实现选择的效果。 以上就是功能的操作逻辑,现在让我们看看我们如何去具体实现他们吧。我就给你们看一部分把毕竟这些东西可能有点枯燥。 取视频数组 将暂存变量的值设为标识变量,暂存变量会用来存档,标识变量会在之后被变为-1(因为逻辑设计关系如果表示变量在整个系统循环的时候大于等于0就会直接再跑从而陷入死循环) 将视频播放器组件的播放源设为视频数组中的第标识变量个元素 播放视频 每帧都检查视频有没有播放结束,如果播放结束则设定videoKey变量为true 每帧都检查videoKey变量是否为true,如果是true就触发对话框 设计游戏界面 作为一个资深工具男,我肯定是熟练掌握Photoshop操作的。我一个人设计了整个游戏的ui元素,整体采用了蒸汽波的风格。这里得感谢万能的淘宝为我提供了这么多好的蒸汽波素材。 除了设计好这些元素后,还得应用。我使用了一款叫做DoozyUI的插件来帮助我快速构建一个UI系统。 是不是感觉界面还挺友好的,千万不要用这里面的GameEvent功能,就是个大坑。为了摆脱这个坑我花了三个多小时重新绑定页面。 但是DoozyUI的一些坑算小坑了,再在这之前我使用了一款叫做EasyMainMenu的插件。那款插件自带了主菜单,也很炫酷,但是坑更大,具体什么坑我就不说了你们可以去看我ctb小站上的日志。 你们永远不知道我在发布这条日志之前经历了什么可怕的事情 制作游戏内容(Shoot, Edit, Repeat) 光光有游戏系统可不行,内容也是很重要的。我们的游戏每章都有剧本,剧本是我们整个CTB小队大家一起写的。所以你会发现我们的游戏内容一个章节里经常会有风格很不一样的地方。比如说下面这两段的比较,他们都来自一个剧本。 这个不是我写的 这个是我写的 风格是不是很不一样哈哈哈哈哈。 在写完后呢会有两名成员进行剧本的翻译工作,毕竟我们这游戏说是还要给洋人玩。 拍摄日: 我们第一章的拍摄是在其中一个队员,也是你们熟悉的老朋友了MikeWallace51(兼MoreClub社长)家里,因为他家还蛮大的。 (责任编辑:波少) |