SDL中文论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4085|回复: 0
打印 上一主题 下一主题

[Animation] frame_parsed_parameters、frame_parameters

[复制链接]

149

主题

331

帖子

2445

积分

版主

Rank: 7Rank: 7Rank: 7

积分
2445
跳转到指定楼层
楼主
发表于 2017-6-1 20:51:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 ancientcc 于 2017-6-2 14:14 编辑

configWML中的[anim]块、[frame]块
frame_parsed_parameterslv1config是构造函数的参数unit_frame的成员变量builder_,处理逐进变量
frame_parameterslv2三个frame_parameters形成“最终”的帧结构

从WML中的[anim]块根或[frame]块生成frame_parsed_parameters,frame_parsed_parameters存储着逐进变量整个字段,它跟据“当前时刻”返回当前的参数,这个参数的存储格式就是frame_parameters。

  1. image::locator image;
  2. image::locator image_diagonal;
  3. std::string image_mod;
  4. std::string halo;
  5. int halo_x;
  6. int halo_y;
  7. std::string halo_mod;
  8. std::string sound;
  9. std::string text;
  10. Uint32 text_color;
  11. int duration;
  12. Uint32 blend_with;
  13. double blend_ratio;
  14. double highlight_ratio;
  15. double offset;
  16. double submerge;
  17. int x;
  18. int y;
  19. 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]块得出的帧参数;
  1. 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_
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|丽谷软件|libsdl.cn

GMT+8, 2025-5-2 00:56 , Processed in 0.061553 second(s), 19 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表