Unity3d/NGUI 在面板上画图。
Unity3d/NGUI有没有像ActionScript3那样的copyPixels的方法?将一张图片一部分一部分的画到一个面板上。不是像GUI那种的每帧都要重画才会显示...
Unity3d/NGUI 有没有像ActionScript3那样的copyPixels的方法?将一张图片一部分一部分的画到一个面板上。不是像GUI那种的每帧都要重画才会显示,想要的是只在面板上画一次就行了。
展开
1个回答
展开全部
可以参考NGUIEditorTools.cs里的这个方法自己实现
/// <summary>
/// Draws the tiled texture. Like GUI.DrawTexture() but tiled instead of stretched.
/// </summary>
static public void DrawTiledTexture (Rect rect, Texture tex)
{
GUI.BeginGroup(rect);
{
int width = Mathf.RoundToInt(rect.width);
int height = Mathf.RoundToInt(rect.height);
for (int y = 0; y < height; y += tex.height)
{
for (int x = 0; x < width; x += tex.width)
{
GUI.DrawTexture(new Rect(x, y, tex.width, tex.height), tex);
}
}
}
GUI.EndGroup();
}
我的博客中有讲解 http://www.blog1314.com/article/21.html
/// <summary>
/// Draws the tiled texture. Like GUI.DrawTexture() but tiled instead of stretched.
/// </summary>
static public void DrawTiledTexture (Rect rect, Texture tex)
{
GUI.BeginGroup(rect);
{
int width = Mathf.RoundToInt(rect.width);
int height = Mathf.RoundToInt(rect.height);
for (int y = 0; y < height; y += tex.height)
{
for (int x = 0; x < width; x += tex.width)
{
GUI.DrawTexture(new Rect(x, y, tex.width, tex.height), tex);
}
}
}
GUI.EndGroup();
}
我的博客中有讲解 http://www.blog1314.com/article/21.html
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询