0

我正在做一些需要使用 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);

谢谢你们的帮助!

4

2 回答 2

1

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

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.
于 2014-09-05T09:49:25.913 回答
0

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

于 2014-09-03T21:10:29.297 回答