求大神分析以下unity3d的c#代码。求分析FillSize()这个怎么解析。 20
ist<Color>fill=newList<Color>();//泛型fillboolFill(){returnFill(false,Vector2.zero);}bo...
ist<Color> fill = new List<Color>(); //泛型fill
bool Fill()
{
return Fill(false, Vector2.zero);
}
bool Fill(Vector2 point)
{
return Fill(true, point);
}
public void Clear()
{
FillLayers(); //这里是一个填充两个材质的函数。
backBuffer = 1;
SetBackBuffer();
}
void FillSize() // 画刷填充大小
{
int r = brushSize / 2;
int ox = r;
int oy = r;
fill.Clear(); //
for (int i = 0; i < brushSize * brushSize; i++)
fill.Add(Color.clear);
for (int x = -r; x < r; x++)
{
int hg = (int)Mathf.Sqrt(r * r - x * x);
for (int y = -hg; y<hg; y++)
fill[(y + oy) * brushSize + (x + ox)] = brushColor;
}
_brushSize = brushSize;
_brushColor = brushColor;
} 展开
bool Fill()
{
return Fill(false, Vector2.zero);
}
bool Fill(Vector2 point)
{
return Fill(true, point);
}
public void Clear()
{
FillLayers(); //这里是一个填充两个材质的函数。
backBuffer = 1;
SetBackBuffer();
}
void FillSize() // 画刷填充大小
{
int r = brushSize / 2;
int ox = r;
int oy = r;
fill.Clear(); //
for (int i = 0; i < brushSize * brushSize; i++)
fill.Add(Color.clear);
for (int x = -r; x < r; x++)
{
int hg = (int)Mathf.Sqrt(r * r - x * x);
for (int y = -hg; y<hg; y++)
fill[(y + oy) * brushSize + (x + ox)] = brushColor;
}
_brushSize = brushSize;
_brushColor = brushColor;
} 展开
1个回答
展开全部
您好,首先我并不清楚您的调用位置,另外您的解析是什么意思?什么级别的解析?IL的解析方式?
我先按照代码的字面意思大致给您解说一下这个东西做了什么
首先他的主要作用是重新绘制某个区域的色块,
从代码上来看就类似于刷漆的动作
当然也可能是子弹打到墙上时要对墙面进行一个绘制,显示墙面有坑啊什么的.也是合情合理的
总之呢.他的主要作用就是重新绘制指定区域的颜色
我先按照代码的字面意思大致给您解说一下这个东西做了什么
首先他的主要作用是重新绘制某个区域的色块,
从代码上来看就类似于刷漆的动作
当然也可能是子弹打到墙上时要对墙面进行一个绘制,显示墙面有坑啊什么的.也是合情合理的
总之呢.他的主要作用就是重新绘制指定区域的颜色
追问
FillSize() 这个方法主要是怎么样重新绘制区域的颜色块啊?
追答
for (int i = 0; i < brushSize * brushSize; i++)
fill.Add(Color.clear);
for (int x = -r; x < r; x++)
{
int hg = (int)Mathf.Sqrt(r * r - x * x);
for (int y = -hg; y<hg; y++)
fill[(y + oy) * brushSize + (x + ox)] = brushColor;
}
先将每个像素给清理了,然后再一个一个赋值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询