|
发表于 2016-8-31 22:08:47
|
显示全部楼层
本帖最后由 dqndqn1 于 2016-8-31 22:11 编辑
稍微做了些测试,发现这整个系列函数,动画时间,持续时间啥的都是操纵这两个系列的接口函数,- DialogControlSetPropertyAs##X (int lp_dialogItem, int c_triggerControlProperty, playergroup lp_players, X var);
- X DialogControlGetPropertyAs##X (int lp_dialogItem, int c_triggerControlProperty, int lp_player);
复制代码
其中X替换为数据类型,有bool, int, fixed, text, color, string, control, unit, unitgroup,或许还有更多我就没多找了,- DialogControlSetPropertyAsFixed (int lp_dialogItem, int c_triggerControlProperty, playergroup lp_players, fixed var);
- int DialogControlGetPropertyAsInt (int lp_dialogItem, int c_triggerControlProperty, int lp_player);
复制代码
参数中第一个是对话框项的编号,直接用对话框项变量传递就行,
第二个应该是一个枚举,其中值0~77都有,这个的意义就是操纵的是哪条属性,比如动画持续时间是61,动画时间是62,动画帧是68(其中59,69好像没定义,都是bool,操作图片没反应)
第三个是玩家组或玩家编号,这个就不说了
第四个就是要设置的变量值了,注意类型应该保持一致,不过我没全测过
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
然后简单的测试了一下,跟你的结果一致,就是动画帧一Set就不动了,在ManagedAnim="true"下动画时间不起作用。这里发现了个问题在刚开始没给动画时间赋值的时候,我Get动画时间的值是会报错的,也就是说这个值只存在于触发器下,并没有写入到属性里,Set动画时间应该是操作另外的属性来完成的,至于Set动画帧就停下来了我估计是这样的:
整个Manage在初始化的时候注册整个有ManagedAnim="true"标旗的图片,然后也是周期设置图片的位置,播放出动画,这时候Set动画时间,其中操作的属性估计跟Manage重叠了,所以我们的操作被Manage复写掉了,然后Set动画帧
这个动作应该是跟Manage操作的方式不一样,他要设置必须要将目标图片从Manage中卸载掉,才能正确的设置属性,所以就停下来了
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
如果这过程真的跟我想的一样的话,那动画只有自己写一个Manage去管理了,或者说找到重新加入Manage队列的接口函数
|
|