- Tween 动画,一般需要UIPlayTween去管理,可以选择播放方式。
- 使用DragObject直接拖动物体
- 添加DragResize通过拖动自由改变控件大小
- 制作序列帧动画SpriteAnimation
- 将一个物体设置为另一个物体的子物体NGUITools.AddChild()
常用
1.UITexture
UITexture texture = GetComponent<UITexture>();
texture.gameobject.SetActive(false);
//获取并修改图像内容
texture.mainTexture = Resources.Load("路径") as Texture;
//修改尺寸
texture.SetDimensions(200,200);
-
UIPanel
//重新渲染画面 一般不用,耗时 panel.RebuildAllDrawCalls();
-
UICamers
UICamers.IsOverUI 返回bool值,判断射线是否打击在UI上 UICamers.IsPressed 检验当前是否按住了某一个物体。
拖动摄像机来浏览超大界面
1.在Camera中添加UIDraggableCamera组件,设置RootForBounds为Texture的父控件,DragEffect为None否则会穿帮。
2.在超大界面(Texture)中添加UIDragCamera组件,设置DraggableCamera为当前Camera。
UI屏幕自适应 Anchor
Anchor的主要作用是一个组件,它将会自动寻找摄像机的边缘和中心点一共9个点,以此作为基准点进行定位适配。
1.使用Anchor组件,也可以直接在Anchor中尽心UI控件的添加。
注意事项:
- 尽量不要设置Anchor的RelativeOffset和PixelOffset,就让Anchor保持锚点原位置,然后将UI控件放到Anchor下作为子物体,再去调整UI控件的位置。
- Anchor物体身上,尽量保证只有Anchor一个组件,以便于管理维护。
- 一套UI体系中,可以有无数多个Anchor,但尽量确保Anchor的父物体中没有Anchor,也就是尽量避免Anchor中嵌套Anchor。
- 不要滥用Anchor。
5.尽量让Anchor组件所在的物体在最上层。
EventDelegate事件委托
public class ButtonClick : MonoBehaviour
{
public UIButton myButton;
void Start()
{
if (myButton != null) {
//首先将本脚本中的ClickTheButton() 方法变成一个EventDelegate类型的事件委托
EventDelegate theED = new EventDelegate(this, "ClickTheButton");
//方法1: EventDelegate.Add()
EventDelegate.Add(myButton.onClick, theED);
//方法2:
myButton.onClick.Add(theED);
}
}
//要作为EventDelegate类型的单击事件,一定要用public
public void ClickTheButton()
{
Debug.Log("我单击了这个按钮");
}
}
动画的控制
- 控制Tween动画
获取指定类型动画组件如:GetComponent<TweenPosition>()
获取动画数组GetComponents<UITweener>()
激活关闭Tween动画组件:
tween.enabled = true/false;-
播放Tween动画,队与一次性的动画可以使用:
正向播放: tween.play(true); 或 tween.PlayForward(); 反向播放: tween.play(false); 或 tween.PlayReverse();
-
复原Tween动画,动画是不会自动复原的。使用代码复原:
tween.ResetToBeging(); //回到动画原点。
Tween动画播放完毕的事件回调。
tween.onFinished.Add(new EventDelegate(this,"A"));PlayTween 和PlayAnimation:
播放和复原:如果希望手动控制动画进行播放,那么 PlayTween 和PlayAnimation最好是Forward方向的,然后可以通过Play(true/false)来进行正向/反向播放。
我们可以通过playtween.resetIfDisabled = true 来使动画在播完禁用后自动复原。