
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
右键Hierarchy窗口->Effect->Particle System;

现在有一个monster基类,他有Health脚本,也有FSM脚本,还有技能脚本和动作脚本,每个脚本都是一个变化方向,如果把他们都耦合到一个类里面来实现,那么是非常非常恶心人的一件事情,我们发布一种单位[继承Monster],都要重写一边所有脚本,代码重复非常非常严重,这个重复的原因是我们将每个脚本都耦合在一起了,比如我们只改变了FSM脚本,其他的脚本我们不需要改变,但因为高耦合性和继承带来的静态

拓扑排序是bfs的一个简单的运用,具体实现的思路如下;先将入度为0的点放入队列,然后取出对头,用对头更新其他点的入度,如果发现新的点的入度为0,则将该点放入队列,如此循环,直到队列为空;要注意,有环图一定无拓扑排序,所以拓扑排序的一个简单运用为判断一个图是否为有环图。这个可以用反证法;假定一个有环图存在拓扑排序;入队的某一时刻,记A环中的Q点为此环中的一个入队的点,说明此刻该点的入度为0,有因为Q

利用std::bind();std::bind()类似函数之间的适配器,可以将封装不同的,但是可转换的函数指针的function转换;这里我们不探讨在函数适配上的功能;这里简单说一下std::bind的特性:1:返回值可以直接转换为std::function2:当适配器对接的两个参数之间有转换机制时,可以通过3:映射时允许出现非满射的情况,及适配函数有一个参数,但是被适配函数中有两个参数。

如果我们要让两个对象发生碰撞,并判断他们碰撞后的反应的话,定然离不开Collider和Rigidbody这两个东西,但刚刚接触这两个东西时会混淆他们之间的概念,下面本菜就来讲解这两者之间的区别:1:刚体,相当于应该接收器,接收物理效果,比如其他对象传来的力、重力等等;2:碰撞体,相当于计算器,如果两个精灵都有刚体,这两个对象仅仅是只有相互接收对方的力的功能,因为没有碰撞体,那么说明两个没有计算力的

我们在用Tilemap场景搭建时,常常需要某些Tile具有碰撞的功能,那么我们该怎么实现这个功能呢?我们先得给Tilemap一个专门的Collider组件,即Tilemap Collider 2D:然后我们在Tile Palette中找到对应的Tile对象,将需要Collider的瓦片的碰撞体设置为Sprite;这里本菜设置的None;然后就响应的瓦片就会有碰撞体了;这里本菜理解为:给Tilema

这道题目的核心是求树的直径,即树在最长的那条路,这里有一个o(n)的时间复杂度来求树的直径,而且代码非常简洁。方法是这样的:第一步先求出某一个点c的最长路的端点v,然后我们可以证明v是树中某一个直径的端点,然后我们就可以从这个v点开始再求一遍最长路就可以得到直径了;注意:树中的某一个点到另外一个点的路径只有一条那么接下来就是代码了;#include<iostream>#include








