写在前面
想来从事unity3d开发已有三年多一些,寻思着该为这个奋斗了这么久的行业做些少许贡献,无赖自身水平局限加上各种拖延症,一直未能实施。
该写什么?
该怎么写?
不知道自己的能力是否能够撑起梦想,最后是否会太监?
也不会做需求分析,自己的文章会否有人问津?
更加不知道文章是否书写正确,不要传递了错误的信息,误人技术,徒留一地鸡毛。
想的多了,做得就少了,越想越无法下笔,但近日开始接手一个陈旧的项目,看着自己无法下手的代码,看着各种解不开的变量关系,才知道,虽然unity3d大大降低了做游戏的门槛,但是用Unity做项目,还是不能随意的来,加上近日浏览各种论坛,各种教程都看了一眼,发现教程要不然面对纯新手,讲解各种API各种组件的用法,要不然就是面对图形学,讲解各种shader。偏偏就是缺少中间部分,中间那一部分已经熟悉了C#的语法,熟悉了unity的各种API,各个插件,但是却不知道怎么去组织代码,如何让自己的代码更加清晰,更加明了的人。
文章定位
上文已经讲了,这个系列文章已经定位新手进阶,所以高手们就手下留情,如果有热心肠的前辈愿意指点一二当然更好。
新手进阶是一个痛苦的阶段,痛苦程度就和入门阶段一样,充满了迷茫,看着高手的代码很简单,但是自己就是无法领悟,看过就忘了,不知道他们为什么这么写,意义何在。在我看来,写代码也是分三个阶段。
阶段一:看山是山,看水是水。这个功能怎么实现? 百度一下,按照教程写了个类,拖拽一下,运行起来测试,哇塞,一次成功!哈哈,成功搞定这个知识点。这么简单啊,开心!
阶段二:看山不是山,看水不是水。明明直接new这个类就好了,为什么还要求继承个接口,再去另外一个类里面new, 明明public一个变量就好了,为什么必须写个属性,为什么这里抽象了一个类,但是这里又是抽象的接口? 为什么明明可以直接简单的就搞定了,为什么非要搞这么多弯弯拐拐?百度一下,哎,大神的理论一堆一堆的,好像也不容易吃透啊。
阶段三:看山还是山,看水还是水。好吧,我自认还处于第二阶段,就不擅自写第三阶段的事情了, 有高手可以留言指点一二 ^_^
文章规划
这篇文章既然定位于新手进阶,那么就不再是小白教程,不会再随意的写代码了,那么你就需要给你的代码理定规则,你也需要开始做决定应该引用哪些库,哪些工具了。
第一步:搭建unity通用的工程环境,划分清晰地目录结构,引入并测试各种需要用到的库,理定代码规范,写好框架代码。
第二步:实战讲解上一步中书写的代码的用法,帮助大家更加清晰地理解整体代码的意义,实战项目目前选定 <斗地主>的游戏,因为我只有斗地主的美术资源,就地取材了哈哈。
第三步:还没想好,车道山前必有路,就不耗费脑细胞去思考了,我这懒惰的性格加上满满的工作安排,完成前面两步的时候,就已经不知道什么时候了,^_^,希望自己能快速完成这个系列吧。
在这之间,我会用golang代码来写个简易的服务器,用来完善和测试这个斗地主的游戏,老实说吧,服务器没写过,golang更没写过,现在正在自学中,祈祷能够快速应用过来,完成这个自己一直想完成的东西。
顺带会零散记录一些游戏中需要用的工具或者算法。
写在最后
胡言乱语了一晚上,知道不会有多少人看,其实博客是写给自己的,婉婉诉来,表达的不过自己所思所想。也希望自己能够熬过这迷茫的日子,祝愿自己更祝愿大家有一个美好的未来。