Unity文字冒险游戏开发日记
galgame吧
全部回复
仅看楼主
level 5
写在前面:
本人大学软件工程专业,学过c语言和c++,现学习unity刚刚一月,无任何公司项目经验,代码写起来还比较稚嫩。因为自己热爱gal,就想开发一款ADV作为毕业设计。将自己开发游戏的过程写成帖子的目的有三:1.激励自己坚持开发 2.为将来可能的游戏开发整理思路和api文档 3.给一些同样想要开发ADV的游戏开发者提供思路和建议
2021年04月08日 03点04分 1
level 5
开发大纲:
1. 实现游戏的基本框架(UI、逻辑、游戏组件、日志、其余各种功能)
2. 游戏剧情
3. 游戏测试及优化
4. (*)开发简单的游戏编辑器(实现部分类fungus插件的功能)
素材来源:
橙光素材库,用来非商业开发学习非常不错
2021年04月08日 03点04分 2
level 5
第一天:实现简单的游戏对话画面
一个简单的游戏对话画面至少包含5个部分:背景图片、人物立绘、对话框、角色名以及剧本
2021年04月08日 03点04分 3
level 5
创建五个gameObject游戏对象
其中三个带Image组件
分别表示背景图片(Background)、人物立绘(Body)以及对话框(MsgPanel)
两个带Text组件
表示角色名(CharName)和剧本(Msg)
2021年04月08日 03点04分 4
level 5
手调位置(为了表示方便,用不同颜色表示游戏组件)
2021年04月08日 03点04分 5
level 5
将Image全部调成白色(不影响图片正常显示)
将Text全部调成无字
2021年04月08日 03点04分 6
level 5
创建一个c#脚本Test作为主程序入口,分别定义这五个组件,把脚本拖到MainCamera上,分别把5个组件拖到Inspector的脚本变量上,游戏组件初始化成功。
2021年04月08日 03点04分 7
level 5
显示文本通过给Text类中text属性赋值即可做到。
2021年04月08日 03点04分 8
level 5
载入图片时为了调用方便,不去创建加载对象的实例,在其类下写一个静态方法,以background 为例
这里 Resources.Load()加载的图片必须要放在Resources文件夹中,参数要写相对路径,由于返回的是Object类型,必须通过显式转换转换成Sprite类型(图片类型)
这样就可以在同一个命名空间中通过Background.LoadSprite()来调用这个方法。
2021年04月08日 03点04分 9
level 5
如何找到文件路径?
在Resources文件夹下找到背景图片(如果没有Resources文件夹需要自己先在Assets下创建一个),将文件放在这个文件夹下
这里背景图片的文件路径应该为"Textures/Backgrounds/"+文件名
为了使代码更加清楚明了,最好创建一个类,用于保存路径及其他常量
2021年04月08日 03点04分 10
level 5
得到了Sprite类型返回值之后,我们要先做一下判断这个值是不是为null,如果为null说明未能加载到图片,就停止执行,不再导入图片
导入图片之前必须设置导入对象为激活状态,不能先导入再激活!
2021年04月08日 03点04分 11
level 5
导入图片功能如何实现?
T GameObject.GetComponet<T>() 返回一个T类型的对象,这个T类型必须是unity自带的组件类型(component),可以通过addComponent按钮添加组件类型
添加的Background因为是Image类型,就自动生成了Image组件,所以我们可以在代码内部实现访问Image组件的对象。
Image类里面有个sprite属性用于赋值;
2021年04月08日 04点04分 12
level 5
2021年04月08日 04点04分 13
level 11
膜拜大佬
2021年04月08日 04点04分 17
不敢当[惊哭]
2021年04月08日 04点04分
level 14
这是教程贴吗,贴吧遗风[惊讶]
2021年04月08日 04点04分 19
我也是个新手,在摸索中而已[惊哭]
2021年04月08日 04点04分
1 2 3 4 5 尾页