|
本帖最后由 ancientcc 于 2017-6-2 14:14 编辑
config | | WML中的[anim]块、[frame]块 | | frame_parsed_parameters | lv1 | config是构造函数的参数 | unit_frame的成员变量builder_,处理逐进变量 | frame_parameters | lv2 | 三个frame_parameters形成“最终”的帧结构 | |
从WML中的[anim]块根或[frame]块生成frame_parsed_parameters,frame_parsed_parameters存储着逐进变量整个字段,它跟据“当前时刻”返回当前的参数,这个参数的存储格式就是frame_parameters。
- image::locator image;
- image::locator image_diagonal;
- std::string image_mod;
- std::string halo;
- int halo_x;
- int halo_y;
- std::string halo_mod;
- std::string sound;
- std::string text;
- Uint32 text_color;
- int duration;
- Uint32 blend_with;
- double blend_ratio;
- double highlight_ratio;
- double offset;
- double submerge;
- int x;
- int y;
- int drawing_layer;
复制代码 @engine_val:主帧参数。它不是从WML文件中得出。它一般指是主画线,像部队的话就是部队图像。它以着不同方式向叠加或替换已得的字段值,像halo_y和y是“相加”方式修正。
@animation_val:默认画帧参数。它是指在[xxx_animation]直接根下,在[xxx_frame]外字段形成的画帧参数。它的默认是由[xxx_frame]没有相应参数时则使用它的。它在[xxx_anmiation]根下,有时也写作animation_val;
@current_val:当前画帧参数。它是在[xxx_frame]块得出的帧参数;- const frame_parameters unit_frame::merge_parameters(int current_time,const frame_parameters & animation_val,const frame_parameters & engine_val, bool primary) const
复制代码 注:
优先级:值越小优先级越高;
image:图像。优先级:1)current_val;2)animation_val,3)engine_val(primary=true);
image_diagonal:对角图像。优先级:1)current_val;2)animation_val,3)engine_val(primary=true);
image_mod:???。三种“相加”。engine_val“相加”要有条件:primary=true;
halo:halo光影效果图像文件。优先级:1)current_val;2)animation_val。engine_val必须是不提供;
halo_x:halo光影效果图像显示的x坐标。优先级:1)current_val;2)animation_val。engine_val必须置为0;
halo_y:halo光影效果图像显示的y坐标。优先级:1)current_val;2)animation_val。engine_val可能有值,被以“相加”方式修正;
halo_mod:???。三种“相加”。engine_val“相加”要有条件:primary=true;
duration:current_val。engine_val必须置为0。
sound:声音文件。优先级:1)current_val;2)animation_val。engine_val必须置为空;
text:文本。优先级:1)current_val;2)animation_val。engine_val必须置为空;
text_color:文本颜色。优先级:1)current_val;2)animation_val。engine_val必须置为0;
blend_with:混叠。优先级:1)current_val;2)animation_val,3)engine_val(primary=true);
blend_ratio:混叠率。优先级:1)current_val;2)animation_val,3)engine_val(primary=true);
highlingt_ration:高亮率。优先级:1)current_val;2)animation_val,3)engine_val(primary=true)。1.0是个特殊值。
offset:偏移。1)current_val;2)animation_val。engine_val必须置为0;
submerge:潜水率。1)current_val;2)animation_val,3)engine_val(primary=true);
x:x坐标值。1)current_val;2)animation_val。engine_val必须置为0;
y:y坐标值。1)current_val;2)animation_val。engine_val可能有值,被以“相加”方式修正;
drawing_layer:在绘制缓存中的绘制层。1)current_val;2)animation_val。engine_val必须置为LAYER_UNIT_DEFAULT-LAYER_UNIT_FIRST;
| WML位置 | 程序变量 | 主帧参数 | 无 | unit::redraw_unit内生成 | 画线默认帧参数 | 画线根下 | particular::parameters_ | 帧块内参数 | 帧块内 | unit_frame::parameters_ |
|
|