求大神分析以下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;

}
展开
 我来答
Ben
2014-12-16 · 知道合伙人软件行家
Ben
知道合伙人软件行家
采纳数:860 获赞数:2875
认真回答者.

向TA提问 私信TA
展开全部
您好,首先我并不清楚您的调用位置,另外您的解析是什么意思?什么级别的解析?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;
}
先将每个像素给清理了,然后再一个一个赋值
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式