非常希望有一天,有一天当编辑器完工的时候,你们将用编辑器进行创建定义文件(definition files),与此同时你们也将不再为XML的结构而感到烦恼。在此期间,这些文件仍然需要用手动去创建。遵循这一个环节为例进行说明
(http://www.ffilmation.org/website/documentation/2-usage/xml-how-to/)
Definition files包括了media references多媒体引用,material definitions材质定义和object definitons对象定义。
Media references多媒体引用在文件中用以定义并且加载工作的素材资源。(外部swfs中引用类,影片剪辑,位图)
Object definitions 提供了普通信息类型的对像,例如他们用和调整尺寸大小的图像资源。
你可以列出多个副本的这些定义和每一个将分享这一共同的定义在你的场景中。
object的基本属性定义为:
name:当对象涉及到这个定义时被用;
solid:固态对象用于物体碰撞,非固态对象不能用于碰撞;
receiveLights:这个对象可以受光么?
castShadows:在其他的被渲染元素上投影;
receiveShadows:从其他的被渲染元素上接受投影;
以上所有的属性(除name)都可以被覆盖每个实例(无论是在实例的节点或在运行时,都过FFilmation API);
但是你要在object definition提供默认的值。
一个object包含了display model(展示模型),collision model(碰撞模型),shadow model(投影模型)。
显示模型有一个或者多个sprite形成(每个sprite和角有关)
当这个对象转动角度时(0-360),引擎将会自动显示这个sprite(更能接近被描述的uyangzi)
Display Model:
angle:从哪个角度来代表sprite;
src:库连接;
shadowsrc:如果你想用其他而不是同一个sprite代替它的影子;
Collision Model:碰撞模型
碰撞模型定义了几何将被用来计算为这种类型的物体碰撞。
作为引擎无法推断一个有效的碰撞几何学一个sprite(think of a tree),你必须定义它。
目前两个碰撞模型被支持:圆柱碰撞cylinder collision model 和盒子碰撞box collision model。
圆柱碰撞模型的属性:
radius:构建圆柱的半径像素;
height:构建圆柱的高度;
盒子碰撞模型的属性:
width,depth,height ,x,y,z
目前投影模型只支持Sprite,但是总有一天你会用盒、圆柱定义更加准确的投影。
材质的定义被用在墙壁和地板上。认为他们的材质在任何三维软件包中。引擎还包括了一些标准的材质类型;
如果提供的材质不足,你也可以写你自己的。一个材质一个类。
如果用自定义容器,必须实现fEngineMaterial接口才能作为一种材质