2

我正在尝试使用 Unity 的 NGUI 插件重新创建我的游戏,到目前为止我非常喜欢它,但在这个问题上却一头雾水。

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

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

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

也试过这个,但没有运气:

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

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

4

3 回答 3

0

尝试设置 clipRange 属性。

GameObject.Find("Games").GetComponent("UIPanel").clipRange = new Vector4(x, y, z , w); 
于 2014-02-15T04:19:12.807 回答
0

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

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

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

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

mPanel.leftAnchor.absolute = 200;
于 2014-08-26T09:00:27.740 回答
0

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

当我想UIPanel用一个移动的 剪辑 a 时,我也做了同样的事情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;
于 2015-08-19T02:04:20.563 回答