Unity2D,我如何在列表中的GUI.Label上显示ICON Image?

时间:2014-07-14 12:54:01

标签: unity3d unityscript

我曾试图在互联网上阅读大部分类似的帖子,但我仍然为此而迷失。所以我希望任何人都可以给我一些指导。十分感谢!我想在列表中显示ICON,ICON列表是常量图像。我该如何调用该文件?我正在做的项目是2D,我只是想在GUI上显示ICON。有关其他信息,我只是尝试使用编程方式调出图像,但失败了。下面的代码是我实现图像代码之前的原始代码。

GUILayout.BeginVertical ("box");
            GUILayout.Label ("Staff");
            int maxHeight = 15;
            int maxHeightRange = maxHeight * 35;
            scrollPosition = GUI.BeginScrollView(new Rect(50, 25, 400, 175), scrollPosition, new Rect(0, 0, 200, maxHeightRange));
            for(int i = 0; i < maxHeight; i++)
            {
                GUILayout.BeginHorizontal ("box");
                GUILayout.Label ("first");
                GUILayout.Label (i.ToString());
                GUILayout.Label ("satu");
                GUILayout.Label ("icon"); //Icon i want to show is here.
                GUILayout.EndHorizontal ();
            }
            GUI.EndScrollView();
            GUILayout.FlexibleSpace ();
            if (GUILayout.Button ("Exit Shrink Fade")) {
                LzTbStaff.exitShrinkFade (0.25f);
                LzShwStaff = false;
                print("xxx");
            }
            GUILayout.EndVertical ();

以及我在下面添加的部分。

Texture iconsample;
            iconsample = (Texture)Resources.Load("iconsample.jpg");
                GUILayout.Label (iconsample,GUILayout.Width(30));

2 个答案:

答案 0 :(得分:1)

我的游戏中有类似的情况,我想使用GUI在高分页面中显示基于玩家国家的国家标志,所以我在&#34;资产/资源/标志&#34;所有国家代码(例如:br.png,us.png,jp.png,kr.png等)。

函数Resources.Load()仅适用于文件夹&#34; Assets / Resources&#34;中的资产,名称必须只是没有扩展名的文件名。

示例:

Texture2D myTexture = Resources.Load("Flags/br") as Texture2D;

我的代码中使用了我的代码:

Texture2D myTexture = Resources.Load("Flags/" + scoreRow.ISOCountryCode.ToLower()) as Texture2D;
if (myTexture != null)
{
    GUI.DrawTexture(new Rect(marginRight, marginTop, lineWidth, lineHeight), myTexture);
}
else
{
    //Debug.Log("invalid flag: " + scoreRow.ISOCountryCode);
}

使用Texture2D,您可以使用GUI.DrawTexture()绘制到屏幕上。

答案 1 :(得分:0)

Texture2D iconsample;
            //iconsample = (Texture)Resources.Load("iconsample.jpg");
            iconsample = Resources.LoadAssetAtPath("Assets/Textures/UI/Resources/iconsample.jpg",typeof(Texture2D)) as Texture2D;