2流程序员学unity-2
最近对着unity manual看文档太慢,灵光一闪,何不写个游戏,带着目的学unity。没有什么立项想法,先考虑程序框架吧。再跟着框架去一步步完善渐进学习,构思了下客户端的一个基本框架。
确定几个单例:
1,ResourceManager:资源管理器,所有动态资源的加载,释放都通过该管理器加载
2,UIManager:界面管理器,所有界面的动态创建,销毁,打开,关闭都通过该管理器统一处理
3,SceneManager:场景管理器,场景加载,切换,场景资源释放,资源预加载
起个单例的基类,就叫SingletonBase吧,以上所有的类都继承该类,上代码
using Unity;
//单例基类
class SingletonBase<T> where T : new()
{
private static T mInstance ;
static public T Instance()
{
if(mInstance == null)
{
mInstance = new T();
}
return mInstance;
}
}逻辑相关:
4,ObjectPool:对象池,提高重复利用率,减少动态创建释放的性能消耗
5,GameLogic:游戏主逻辑控制器
6,AppControl,app启动,各种全局变量初始化
7,边做变补充了。
脑子灵光又一闪,今天闪了两次了,游戏就叫影子传说吧
以上,应该够跑起整个游戏流程了吧。
(补充下:关于资源,个人觉得还是全部以小写+“_”格式命名好,资源一般都是跨职能部门协作,策划,美术,程序共用,规则越简单越不容易出错。做过程序的应该都体会过大小写的痛,万一遇到那种引擎PC端不分大小写,手机端严格区分大小写的情况的,不小心写错一个字母,除非上手机,不然发现不了问题。
关于程序:看unity的API貌似都是大驼峰命名规则,那就按照unity的来吧。
类名,成员函数:大驼峰
成员变量:小驼峰
大驼峰命名规则:第一个单词首字母也大写,其它单词首字母也大写
小驼峰命名规则:第一个单词小写,其他单词首字母大写)
接下来应该先看下Uinty应用程序启动流程,生命周期什么的。
其他先不考虑,我觉得应该先把AppControl,SceneManager处理下,至少可以启动->LoadingScene->MainScene这样吧。
有点意外,没找到类似的入口,那就来个骚操作吧,在unity中先创建一个场景,就取名app_loading,然后把unity的启动scene设置为app_loading吧。
大概设置如下图
场景编辑器里面右键,create empty,创建一个空节点,挂上我们的脚本AppLoading用来做流程控制(AppLoading,放在Script/Scene文件夹下,直接编辑器右键,创建C#,重命名AppLoading)
接下来可以写点代码了。
页:
[1]