从脚本设置UIpanel大小

时间:2014-02-04 18:57:02

标签: c# unity3d unityscript ngui

我正在尝试使用Unity的NGUI插件重新创建我的游戏,到目前为止我非常喜欢它,但是我对这个游戏很感兴趣。

我有一个名为游戏的UIPanel,我想以编程方式更改它的大小,但不知道如何进入参数......

我试过这样,但没有运气:

GameObject.Find("Games").UIPanel.size.x = 300;

也尝试了这个,但没有运气:

GameObject.Find("Games").GetComponent("UIPanel").clipping.size.x = 300;

这不起作用,我不知道该怎么做...感谢任何帮助: - )

3 个答案:

答案 0 :(得分:0)

尝试设置clipRange属性。

GameObject.Find("Games").GetComponent("UIPanel").clipRange = new Vector4(x, y, z , w); 

答案 1 :(得分:0)

您可以尝试以下两种方法之一。

首先是设置UIRect角落的绝对值(UIPanel继承自UIRect)

mPanel.localCorners[0].Set(0.5f, 0.5f, 1f); //this is bottom_left corner

您也可以使用worldCorners而不是localCorners。 如果面板已锚定,则另一个选项是调整锚点值。

mPanel.leftAnchor.absolute = 200;

答案 2 :(得分:0)

不建议手动设置baseClipRange(由于文档),但您可以通过调用clipOffset setter (它执行必要的内部工作)来生成完整的剪辑更新。

当我想用移动的UIPanel剪辑UIWidget时,我做了同样的事。

// Set clipping region to some widget dimension.
panel.baseClipRegion = new Vector4(
    clippingWidget.cachedTransform.localPosition.x,
    clippingWidget.cachedTransform.localPosition.y,
    clippingWidget.width,
    clippingWidget.height
    );

// Invoke culling.
panel.clipOffset += Vector2.one; 
panel.clipOffset -= Vector2.one;