• 游戏开发之目录划分


    目录划分为一下几种

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

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

    先按资源类型划分:

    image.png

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

    静态纹理目录划分:

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

    资源命名

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

    代码目录划分:

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

    直接按模块划分

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

    结语

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

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

  • 相关阅读:
    区别Lua模式匹配中 %a+ 与 .-
    将硬件规定的通信协议用Lua实现(涉及到很多Lua通信的数据转换)
    Lua库-string库
    Unity3d
    Unity3d
    Unity3d
    Unity3d
    Unity3d
    Unity3d
    Unity3d
  • 原文地址:https://www.cnblogs.com/cgw0827/p/13067754.html
Copyright © 2020-2023  润新知