平民程序 - linghuye's blog

天下风云出我辈,一入江湖岁月催。皇图霸业谈笑中,不胜人生一场醉。提剑跨骑挥鬼雨,白骨如山鸟惊飞。尘事如潮人如水,只笑江湖几人回。

随笔 - 221, 文章 - 0, 评论 - 680, 引用 - 0
数据加载中……

That's My UI

Develop in 2005 for my own road to my wow.

 

XML UI排版实现思考
1.每个UI元素要根据其父元素的既定位置进行对齐偏移,所以在代码逻辑上父元素应在自身导入完备后,再行导入其子元素.(两阶段载入,good solution)
2.由于一个复合元素内的子元素来源不同,继承而来,组合而来,组合继承而来,导致确定子元素最终位置的复杂性.
3.文字的渲染性质与纹理类同,而纹理的Size由脚本数据预指定,文本的Size则在初始化时动态计算决定,设置可变文本在每次文字变化时需再次计算决定,然后这两个类同逻辑应在同一个加载阶段完成,以保证逻辑的协调.
4.a.虚元素的属性的有效性取决于InheritPropertyFrom函数实现.
  b.逻辑上,虚元素只能定义元素的样式,大小,对齐偏移,而不能定义具体位置,或具体文本内容.
  c.无大小定义的纹理,其大小决定于其所依附的元素.
5.对于虚组合元素,如按钮等,它的所有子元素均为第2层虚元素.
6.对于多重复合继承,依靠严格遵循如上准则,多重组合继承应该在逻辑上自然实现.

虚元素的逻辑定义层次
1.只有样式,没有对齐偏移和Size的虚元素为第1层.
2.有对齐偏移或Size的虚元素定义的虚元素为第2层.
3.组合了其他虚子元素的虚组合元素为第3层,如一个虚的按钮的NormalText元素也是个虚元素,同时NormalText又继承于某个FontString元素.
4.复合的Frame元素为第4层.

posted on 2005-08-13 17:43 linghuye 阅读(985) 评论(2)  编辑 收藏 引用 所属分类: MyWarCraftStudio

评论

# TYVM you've sloved all my problems  回复  更多评论   

TYVM you've sloved all my problems
2011-05-23 00:44 | Tangie
只有注册用户登录后才能发表评论。