用户界面与文本显示

用户界面 User Interface

BBs可用于接口

Virtools包括许多可用来设计用户接口的BBs, 这些BBs位于 “Interface”类目下。

实体(Entity)也能作为接口元素

2D Frames

2D Frames 是矩形 2D entities,它支持材质。2D Frames的优缺点:

优点:

n       可以控制材质混合属性—--控制透明度或是alpha掩码

n       使用材质的漫反射颜色信息控制2D Frame的颜色

n       2D Frames中共享材质以及纹理

缺点:

纹理会被自动放缩,最后的解析度为2的整数次幂。例如,一幅200X300像素的图会被自动放缩成256X512像素。

缩放过程会导致图像模糊

2D sprites

2D sprites也是矩形2D entities, 但它们不使用材质。2D Sprites 有自己的纹理信息。

优点:

纹理保持原始解析度,不会被自动放缩。

缺点:

只支持颜色键透明度。

纹理不能两个sprites之间共享.

2D Sprites 比起相同尺寸的2D Frames 需要更多的处理,因而渲染略慢。

 

既然2D sprites 不能缩放纹理,因此用2D Frames  做为背景图片更好些。

3D Sprites 作为界面元素

假如你想在你的界面上创建可以旋转的元素(如,汽车仪表盘上可旋转的速度指示器),你必须得使用3D Sprite ,因为不可能去旋转2D Frame 2D Sprite。可以让3D Sprite 与当前相机建立某种层次关系以创建类亿“布告板“效果,这样就可以用3D Sprite 来模拟2D 界面元素。

BBs 用于用户界面

Layouts

”Interface/Layous”下有一些BBs( “2D Curve Layout”, “2D Flow Layout” and “2D Grid Layout”) 支持动态定位2D Frames , 用于定位的数据来自数组,栅格或曲线。这些技术非常省事,你仅仅需要改变数组,栅格或曲线就可以重新组织所有界面的2D Frames,而不需要一个一个来移动它们。

Controls and Primitives

按纽由“Push Button ”BB来支持。拖放功能由”Drag and Drop” BB提供。

附加Views View 大小调整

”Interface /Screen”类目下有”Additional View””Resize View”这两个BBs, 允许调整View的大小,甚至添加新的3D view,小心使用这些BBs, 因为每个附加的View 需要另外的渲染通道。

文体显示Text Display

文本Text

”Interface/Texts”类目下有几个BBs提供Text功能。

2D Text”: 最有效的显示2D 文本的方法。它使用动态生成的纹理,用户可以特定特性如斜体,下刬线,粗体等。渲染的文本相对于2D Frame来定义。

“3D Text”: 是目录显示3D 文本的唯一方法。3D 文本也使用动态生成的纹理,但 必须用3D Frame 来控制这些文本。因此,它可以与3D环境完全交互,也可以以你选择的任何方式来定位。

Bitmap Text Display”这个方法过时了。

“Text Display ”这个方法非常慢。

字体Fonts

Virtools 使用特殊格式的纹理来显示文本。这些纹理被Virtools动态产生,依照安装在机器上的系统字体或是特殊设计的纹理(它描述了定制的字体),与字体相关的BBs存在于”Interface/Font”类目下。

“Create System Font” BB,使你能用安装的字体上产生纹理,而且可以被存储到你的Composition中。假如你认为目标机器没有你使用的系统字体,你把这些纹理存储到Composition中是个安全的做法。如果希望这样做的话,那么在”Create System Font”中不要选择”Dynamic”设置。

字体属性Font Properties

“Set Font Properties”BB,用它可以设置许多字体不同的可视效果,甚至这些字体来自于相同的纹理。每种字体通过它的名字区分。Virtools 认为,只要使用相同的纹理类型与纹理尺寸,那么就认为是相同的,另外的纹理就不会再创建。

举例来说,当使用”Create System Font ””Set Font Properties”,你可以创建几种字体,分别指定它们的属性如颜色,阴影等。所有这些不同外表的字体都可以从同一个纹理产生出来。

插入符The Caret

Caret是文本插入点,它提示用户进行响应。在”2D Text””3D Text” BBs中,通过设置”Show Caret”来管理。 假如这个设置项被选中,可以通过BB的参数输入来设置Caret使用的材质。

可以使用”Input String” BB 或是”Set Caret Pos” BB 来定位插入点

齐次坐标Homogeneous coordinates

为了可以根据屏幕的分辨率来缩放字体,必须勾选”Screen Proportional”设置

为输入变量传递文本

从文本文件中获取格式文本的最简单的方法是:

----使用  2D Text”或“3D TextBBs

----编辑参数,点击参数”Text”左边的CheckBox,打开文本窗口

----在文本窗口中粘贴文本

----选择BB”WorWrap”设置项

----设置”2D Frame”或是”3D Frame”的宽度,使其足以容纳文本.

posted on 2007-04-04 15:36 清源游民 阅读(1577) 评论(0)  编辑 收藏 引用 所属分类: Virtools

只有注册用户登录后才能发表评论。
【推荐】超50万行VC++源码: 大型组态工控、电力仿真CAD与GIS源码库
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


<2007年4月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

留言簿(35)

随笔分类(78)

随笔档案(74)

文章档案(5)

搜索

  •  

最新评论

阅读排行榜

评论排行榜