游戏开发之目录划分

目录划分为一下几种

先按资源类型,再按模块划分

即从类型到模块。好处就是当你需要翻阅资源的时候先从类型着手。然后再定位到功能模块。高内聚低耦合的策略,有利于团队协作。

先按资源类型划分:

image.png

  1. 最外层的目录也就是代码,动态资源,静态纹理,场景文件
  2. 所以主要的划分还是在动态资源目录里边,比如分为声音文件,配置文件,纹理,预制体文件,粒子效果,动画文件等。
  3. 然后就是对纹理文件的划分了,主要是存放的也就是动态加载的资源,比如道具图标等,因为拼界面的纹理一般会放到静态纹理目录下,所以动态纹理只需要按纹理用途划分就可以了。

静态纹理目录划分:

  1. 模块独有的资源放到一个目录下,所有模块公有的资源放到一个目录下,这样当图片被打成图集一次性加入内存时也不会出现浪费的情况,比如加了一张图集,但是没几张能用到的。
  2. 启动页用到的资源单独放到一个目录下,如果有与其他模块相同的资源也单独存储一份。与其他模块和共有模块的资源分离。这样做是为了加快首页显示。
  3. 图片上带文字的单独一个目录,这样做虽然会打破自动合批。但是对于之后的多语言版本很有帮助。可以同时支持多种语言,也可以写一个脚本在发包的时候替换文件,另其只包含一种语言的资源,减小包体,非常灵活。
  4. 背景图片单独一个目录,不要制作自动图集。

资源命名

资源名称由负责制作的人定,英文拼音都可,小写加下滑线命名。如果程序再更改一次名称,那么当资源需要替换的时候就是麻烦事。

代码目录划分:

image.png
原则其实与静态资源划分方式是一样的。这里特别说明另一种情况。
有些开发者先将代码分为vmc目录,然后再按模块划分。
这种方式不推荐使用。因为在开发功能的时候你需要同时处理mvc代码,
也就是需要同时打开这几个目录。那么列表会相当长,
需要你下拉才可能找到对应的文件,比较繁琐。

直接按模块划分

一个功能的所有类型资源放到一个目录下,这种是将预制体,图片,代码都放到一个目录下。这样可以有效的做好分包处理,小游戏用的比较多。但是不同类型资源都放到一个目录下,当需要对同一类型的文件做处理的时候就比较麻烦。比如换皮,换语言图片,这种需求是无法通过脚本来执行的,所以处理起来不如相同资源在同一目录下处理的快速。所以如何划分还是要酌情考虑了。

结语

事情没有绝对,个人喜好也不尽相同,欢迎相互交流,共同进步。
浏览更多内容,请关注微信公众号《微笑游戏》
微信图片_20190904220029.jpg

欢迎扫码关注公众号《微笑游戏》,浏览更多内容。

posted @ 2020-06-08 19:16  游子陈  阅读(451)  评论(0编辑  收藏  举报