Unity3D - 创建一个NGUI按钮

时间:2014-09-03 17:02:51

标签: unity3d ngui

我正在处理一些需要动态创建的项目,带有NGUI的按钮。 我找到了一些答案,但没有一个可以帮助我。我知道它很简单,但根据我的发现 在http://www.tasharen.com/forum/index.php?topic=81.0 在NGUI脚本(UICreateWidgetWizard.cs)中,如:

            UILabel lbl = NGUITools.AddWidget<UILabel>(go);

它还没有工作..

我的代码如下:

            UIButton button =  NGUITools.AddWidget<UIButton>(parent);

谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

正如@pfranza建议的那样,创建一个你可以在脚本中作为公共对象引用的UIButton的预制件,然后使用

创建它。
GameObject newButton = NGUITools.AddChild(mParentGameObject, mButtonPrefab);

或者,如果您愿意,可以在运行时完全创建它:

    UISprite mButtonSprite = NGUITools.AddSprite(mParentGameObject, mAtlas, "Button");
    //Button is the name of the sprite in the atlas

    mButtonSprite.MakePixelPerfect();
    NGUITools.AddWidgetCollider(mButtonSprite.gameObject);
    mButtonSprite.gameObject.AddComponent<UIButton>();
    //add any further components/set up you like.

答案 1 :(得分:0)

您必须从要用作模板的按钮创建预制件;将该预制件作为GameObject附加到您的脚本中。然后在您的脚本中,您可以克隆该对象并将其激活。