2014-09-03 83 views
0

我正在开发一些项目,我需要在飞行中用NGUI创建按钮。 我找到了一些答案,但没有一个可以帮助我。 Iknow这是简单的,但根据我发现 上http://www.tasharen.com/forum/index.php?topic=81.0 和NGUI脚本(UICreateWidgetWizard.cs),如:Unity3D - 创建一个NGUI按钮

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

它仍然没有工作..

的我的代码如下:

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

感谢您的帮助!

回答

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. 
0

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