FairyGUI笔记:关联(十二)

本文介绍了一种在游戏中动态添加组件并使其与舞台宽度变化保持同步的方法,通过AddRelation和SetSize函数实现组件的右对齐及满屏显示,同时提供了删除关联的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • Relation

除了在编辑器设置关联外,有时候我们也需要动态添加关联。例如在一款页游中,一个动态添加到舞台的组件,希望舞台宽度改变时(比如浏览器窗口被玩家拖大拖小),组件依然保持在右侧位置,那么可以这样调用:

aObject.AddRelation(GRoot.inst, RelationType.Right_Right);

又例如,一个动态添加到舞台的组件始终保持满屏大小,可以这样调用

aObject.SetSize(GRoot.inst.width, GRoot.inst.height);
aObject.AddRelation(GRoot.inst, RelationType.Size);

RelationType.Size相当于RelationType.Width_Width和RelationType.Height_Height的组合。这里强调一下,使组件变为满屏大小这个操作必须由你完成,也就是上面代码中的SetSize调用。关联并不能完成这项任务,因为关联是不管元件当前的大小的,它只会在目标变化时保持两者大小的差别。

删除关联的方法是:

//删除某个关联
aObject.RemoveRelation(targetObject, RelationType.Size);
//删除指向某个对象的所有关联
aObject.relations.ClearFor(targetObject);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值