《胡闹厨房》Demo制作体会

最近没有更新博客,原因是一直在做一个demo项目《胡闹厨房》,做了几个小时之后还是学到了有些东西的。

心得

这个项目用了很多ScriptObject,也就是配置文件,在此之前用配置文件用的比较少,在这个教程里确实是用的很多了。

这个项目同时用了很多的event,其实之前学习的时候就有在培养自己用较低耦合的方式来处理各类问题,但是依然达不到预期(也有可能是因为用的lua编程开发,没有想到C#的event竟然会这么好用),现在也终于学会是组件类去耦合管理类了。此前看大话设计模式的时候还真没有搞懂“依赖倒转原则”,但在这里很好地提现了怎么耦合才是正确的。比如有些计时功能,或者是订单提交功能,怎么才能让ui去响应相应的变化,按照之前的我有可能就直接去调用相关ui去实现更新;但这里确实是不太一样,进一步强调了观察者模式的重要性(在lua项目里本身也有观察者模式,但说实话还是过于简陋了,而且中间的观察者文件非常耦合且冗余,导致这个文件既不能删除也不能优化)。

思考

这个教程里面还有一些是和之前做法不一样的,更多的应该是当时思考出来之后选择的更优(或者是当时觉得最舒适)的写法。比如在做人物靠近厨桌时厨桌的高亮变化:

通常的方式就是每个不同的厨桌预设里添一个高亮节点,人物靠近时SetActive就行了,而我的做法就是不需要这个高亮节点,而是选择每个预设创建时就自动创建出一个高亮节点出来就好了。

我这么做的目的就是每个厨桌预设就都不需要挂上重复的高亮节点了,当然正常做法用处就在于如果不同的厨桌,显示不同的高亮效果,比如颜色不同特效不同,那确实可能需要特例化更好些。但至少在这篇教程里,我这个方法算是够用了。

还有一处很明显的地方就是,正常demo里一直都是在用脚本暴露的方式来引用很多资源内容,类似这种:

但其实这么引用的一个弊端就是如果以后的list需要改变,或者说每一个关卡的list都不同,那就不能用这种方式了,所以我在这部分的处理上基本上都用读取路径下资源的方式来作为解决方案的:

当然我这么做也有弊端,就是如果配置文件修改位置了,就要连着代码也一起改了。只不过这对代码动态调整配置路径会更友好一点。

总结

如果对于新手,里面很多机制都是受益匪浅的。对于职场老将而言,可以跳过很多比较繁琐且之前早就学会的内容,取精华去糟粕,在做的时候可以深度思考为什么这么做,有助于想到更完美更舒适的解决方式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值