- 博客(9)
- 收藏
- 关注
原创 Unity2D Rogue地下城房间随机生成 第二期
整体功能的实现由于本人的技术不足,实现逻辑都非常暴力,整体性能消耗较大,如果有更好的方法欢迎提出,由于图文讲解不是很清晰与方便,如果本篇文章讲解的内容你很感兴趣,但是在阅读后并不是很能理解该功能的实现过程,欢迎留言告知,如果告知人数较多,将会在其他平台以视频形式制作一期教程。
2024-03-03 10:57:49 1266
原创 Unity2D Rouge地下城地图随机生成(BFS)第一期
随机生成房间,并在距离初始房间位置最远的房间生成BOSS房间。数字代表到达该房间需要经过的房间数目,0代表初始房间,数字最大值代表BOSS房间。
2024-03-02 10:52:34 1259 2
原创 Unity 新人经验分享 如何更好的编写一个Player类
在我们个人开发自己的游戏的Demo的时候肯定会遇到这种情况,如果在一个Player类中实现的功能过多,就会使得整个代码的耦合性大幅度上升,其他地方需要某个功能,而这个功能在Player类中已经实现过时,代码的依赖关系就会不断变强,且后续开发其他功能时难以拓展。我们来根据一个实际情况看看这种写法带来的糟糕情况。现在有一个2D射击游戏,直观的逻辑来看,我们需要使得player类能执行我们的移动,射击(需要武器)等功能。那如果我们这些功能全部都写在player类这个脚本时会发生什么情况呢?
2024-02-26 15:23:11 379 1
原创 C#接口隔离原则
这样对于现在的实际情况来看,我们的Driver类中拿到的接口就不会是一个胖接口(大接口,其中有用不到的功能,就像最开始将Itank接口类型的字段替换掉Ivehicle接口类型的字段一样)。在现在的情景当中,我们的司机只与车辆的run方法相关(司机只需要开车) ,那对于我们的Driver类来说,传进来的ITank接口就太大了(接口太胖了,存在不会去使用的方法),这样的设计就违反了我们的接口隔离原则,对于ITank接口来说,它内部的run方法和fire方法其实该分别属于车辆和武器。那我们这样来改动我们的代码。
2024-02-18 12:10:22 618 1
原创 C#依赖 依赖反转
我们先来看这张图,Driver,Trucker,Racer三个类中均包含了他们所驾驶的专门车辆的类Car、Truck、RaceCar。驾驶员类这三个类的Drive方法是与车辆类密切相关的,也就是说脱离了这三个车辆类,驾驶员类无法正常使用,这就是我们常说的依赖,我们的驾驶员类依赖于车辆类 (请注意根据类的实际情况确认类与类的实际依赖关系)。我们来通过一段代码加深对依赖的理解,首先创建一个引擎类} //引擎转速//引擎转速等于1000 x gas。
2024-02-16 13:29:49 1383 1
原创 C # 委托
委托是函数指针的“升级版”,委托是一种类,类是数据类型,所以委托也是一种数据类型//委托的声明// ←(这里声明的委托参数列表为空)//注意!该委托声明在名称空间体内 而不是在类体里// ↑ ↑//delegate关键字 返回值类型(这里声明的委托返回值类型为空)//该委托就可以指向Log方法,因为Log方法的返回值类型为空,且参数列表为空!委托是需要 类型兼容的!类型兼容!类型兼容!//类的声明//方法的声明Console.WriteLine("简单例子");
2024-02-04 18:30:48 838 3
原创 C# 事件
事件:能够发什么的什么“事情”。在C#中的角色定位:使对象/类具备通知能力的成员。事件的作用:用于对象或类之间的动作协调或信息传递。事件是委托字段的包装器(类比属性是字段的包装器)!用于防止委托字段的滥用,所以事件不是委托字段!事件不是委托字段!事件不是委托字段!
2024-01-31 09:58:58 929 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人