我正在处理一些需要动态创建的项目,带有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);
谢谢你的帮助!
答案 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附加到您的脚本中。然后在您的脚本中,您可以克隆该对象并将其激活。