fairyGUI界面控件的基本制作和功能实现

来源:互联网 发布:阿里巴巴 淘宝 便宜 编辑:程序博客网 时间:2024/06/07 03:10

fairyGUI界面控件的基本制作和功能实现

—1.学习地址:官网和泰课在线

fairyGUI官网:http://www.fairygui.com/tutorial

泰课在线:http://www.taikr.com/cloud/search?q=fairyGUI


2.按钮  

一般按钮有4个态:(点开按钮模块可查看)up/down/over/selectedOver



按钮的示例代码

private GButtonbtn_helmet;

btn_helmet = this.ui.GetChild("btn_helmet")as GButton;

btn_helmet.onClick.Set((EventContextcontext) =>  {//按钮点击事件添加});

常用事件:

onRightClick:右键点击事件

onRollOver:鼠标悬停事件

onRollOut:鼠标悬停移出事件

onDragStart:拖拽事件



鼠标拖拽cell1按钮的图标至按钮cell上松开鼠标的相应事件:onDrop()



3遮罩

问题:遮罩会挡住当前组件的其他图片文本,导致想要实现遮罩外部的图片部分被挡住。

方案:遮罩需要遮住的部分单独做成一个组件,再放入主组件中




4.动画和动效

动画的创建:

多选要用来制作动画的图片,再点击左上方动画创建按钮       。


代码调用:

GMovieClip movie = ui.GetChild("movie").asMovieClip;

//start帧开始,播放到end帧(-1表示结尾),重复times次(0表示无限循环),循环结束后,停止在endAt帧(-1表示参数end

movie.SetPlaySettings(0,-1,1,-1);


动效的编辑:

1.选中动效后出现动效编辑界面

2.鼠标右键点击出现可编辑选项

3.选中改变动画用于控制动画播放

  


动效的调用:

private Transition t1;

t1 = ui.GetTransition("t1");

t1.Play((=>{//动效结束后的回调}));


5.控制器

控制器的创建:

在控制器栏点击         ,控制器也可以与组配合使用


代码调用:

private Controller c1;

c1 = this.ui.GetController("c1");

       c1.selectedIndex = 1;

//还可以用DOTween.To实现控制器由起始序号到指定序号


6.普通列表


代码调用:

GListlist1 = obj.GetChild("list1").asList;

list1.RemoveChildrenToPool();

for (int i = 0; i < cnt; i++)

{

GButton item = list1.AddItemFromPool().asButton;

item.GetChild("t0").text = "" +(i+1);

}


7.虚拟列表

代码调用:

_list = _mainView.GetChild("mailList").asList;

_list.SetVirtual();

//itemRenderer , Callback functionwhen an item is needed to update its look

_list.itemRenderer = RenderListItem;

_list.numItems = 1000;

void RenderListItem(intindex, GObject obj)

{

//MailItem继承Gbutton。列表的内容

MailItem item = (MailItem)obj; 

item.title =index + " Mail title here";

}

/// <summary>

/// Callback function when an item is needed to update its look.

/// </summary>

/// <param name="index">Item index.</param>

/// <param name="item">Item object.</param>

public delegate void ListItemRenderer(int index,GObject item);


8.虚拟循环列表


代码调用:

_list = _mainView.GetChild("list").asList;

_list.SetVirtualAndLoop();

_list.itemRenderer= RenderListItem;  

_list.numItems= 5;

//鼠标滚轮滚动的时候实现中间放大的特效

_list.scrollPane.onScroll.Add(DoSpecialEffect);

//根据到中心点的距离改变列表项的大小缩放

void DoSpecialEffect()

{

 float midX= _list.scrollPane.posX + _list.viewWidth / 2;

  intcnt= _list.numChildren;        //子项数量从0开始计算

 for (int i = 0; i < cnt; i++)

  {

    GObject obj = _list.GetChildAt(i);

    float dist = Mathf.Abs(midX - obj.x - obj.width / 2);

    if (dist > obj.width) //nointersection 列表项与中心没有交集

      obj.SetScale(1,1);

   else

   {

     float ss= 1 + (1 - dist / obj.width) * 0.24f; //有交集。越往中心越大。

    obj.SetScale(ss, ss);

  }

 }

// _list.numItems子项数量从1开始计算

_mainView.GetChild("n3").text = "" +((_list.GetFirstChildInView() + 1) % _list.numItems);

}


8.3D界面

2D界面不同在于设置3D世界坐标:

//设置层级

this.SetWindow3DShell(MySelf.Inst.MySceneObject.transform);

this.SetScale(newVector3(0.0022f, 0.0022f, 0.0022f));

this.SetLocalPosition(newVector3(0, 0, 0.4f));

this.SetLocalRotation(newVector3(0, 180, 0));        


9.图形

注意图形在不同平台的兼容性,例如圆角和圆形在某些平台是暂时未支持的。
图形的类型选择为空白时,可以作为占位的用途,这种图形不消耗显示资源



10.加载3D模型


举例:

        现在要在UI中放置入一个原生的对象aSprite,则可以在适当位置放入一个空白的图形,假设对象为holder,那么代码里可以这样写:holder.setNativeObject(aSprite),这样就把aSprite放到了holder所在的位置和深度上。

加载3D模型:

        注意图形不能设置为空白。图形的中心为加载的模型的中心点坐标。


相关代码:

 _holder.SetNativeObject(newGoWrapper(model));

model.transform.localPosition = new Vector3(0, 0, 0);

model.transform.localEulerAngles= new Vector3(0, 180, 0);

model.transform.localScale = new Vector3(380, 380, 380);

model.SetGameObjectLayer(LayerMask.NameToLayer("layer_editobj"));



阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 仙手游 伴游93 自驾游约伴网 消防管道伴热 左肾囊肿伴囊壁钙化灶 乳腺结节伴钙化4a恶性度多少 伴儿 读伴儿图书馆下载app 伴儿少儿英语 游侠儿 诛星魔神 游侠儿 神雕游侠全文 游侠客论坛 游侠客好吗 游侠客旅行社 游侠客旅行网 游侠客 怎么样 游侠客 摄影 游侠客 旅游 游侠客地址 游侠客招聘 游侠客摄影旅游 游侠 客 游侠网app 侠盗猎魔游侠网 游侠网神仙道 神仙道游侠网 青岛兰亭公寓 头戴凤冠游四方 头戴凤冠游四方是什么生肖 游击战是什么意思 铁道游击队歌词 铁道游击队剧情介绍 铁道游击队的故事 游击队进行曲 游击队歌伴奏mp3 铁道游击队又被称为什么 铁道游击队成员 铁道游击队二部 铁道游击队下载 游击队歌 mp3