我正在尝试使用Unity的NGUI插件重新创建我的游戏,到目前为止我非常喜欢它,但是我对这个游戏很感兴趣。
我有一个名为游戏的UIPanel,我想以编程方式更改它的大小,但不知道如何进入参数......
我试过这样,但没有运气:
GameObject.Find("Games").UIPanel.size.x = 300;
也尝试了这个,但没有运气:
GameObject.Find("Games").GetComponent("UIPanel").clipping.size.x = 300;
这不起作用,我不知道该怎么做...感谢任何帮助: - )
答案 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;