iworld2d模块——2D模型类
More...
List of all members.
Detailed Description
iworld2d模块——2D模型类
一些定义:
挂接关系中,静态数据称为node,生成的2d对象称为unit
轨迹为track
动作为action
Constructor & Destructor Documentation
def __init__ |
( |
|
self, |
|
|
|
model_file = "" , |
|
|
|
name = "" , |
|
|
|
layer_id = None , |
|
|
|
ui_id = None |
|
) |
| |
初始化
注意:key_point无效
参数:
model_file :str 2d模型文件名,例如jiangshi.2dm
name :str 生成出来的模型对象名,如果为""代表由引擎指定名字,注意名字必须唯一
layer_id :int None代表用默认的层(中间层)
ui_id :int canvas_ui的标识,默认为None,None表示不属于canvas_ui
Member Function Documentation
def get_unit |
( |
|
self, |
|
|
|
name |
|
) |
| |
获取某个部件的2d对象,可用于单独对粒子/精灵进行特殊操作
参数:
name :str 部件名字
返回值:
obj2d 目前是empty2d、imaged2d、sprite2d或者particle2d
def add_unit |
( |
|
self, |
|
|
|
pname, |
|
|
|
name, |
|
|
|
unit |
|
) |
| |
动态挂接image2d/sprite2d/particle2d到2D模型上。
参数:
pname : str 挂接的父节点名字
name : str 新挂接的部件名字
unit : image2d/sprite2d/particle2d 新挂接的部件对象
返回值:
bool : True表示挂接成功,False表示挂接失败
def del_unit |
( |
|
self, |
|
|
|
name |
|
) |
| |
删除某个部件,而这个部件对象会自动销毁(不需要再次destroy)。
只能删除用add_unit添加过的部件,因为删除其他unit有可能影响动作。
参数:
name :str 部件名字
返回值:
bool : True表示删除成功,False表示删除失败
def get_children |
( |
|
self, |
|
|
|
name |
|
) |
| |
获取此节点下的同层儿子(即不包括儿子的儿子)
参数:
name :str 部件名字
返回值:
list : 所有儿子的名字列表
def play_action |
( |
|
self, |
|
|
|
aname, |
|
|
|
speed = None , |
|
|
|
callback = None , |
|
|
|
args = None , |
|
|
|
cycle = 0 , |
|
|
|
reset_sp2_par = False |
|
) |
| |
播放某个动作,回调时间以编辑器中的动作总帧数为准
回调函数需要两个参数: callback(track_obj, arg_list)
参数:
aname :str 部件名字
speed :int 播放速率,默认为None(即不改变原速率),初始值为1,大于1表示加快,小于1表示放慢
callback:function 回调函数,callback(track_obj, args)
args :list 参数
cycle :int 循环方式0 -- 回调一次
1 -- 循环回调
reset_sp2_par : bool 是否重置粒子和精灵的播放
返回值:
bool : 播放是否成功
def change_speed_rate |
( |
|
self, |
|
|
|
speed = None |
|
) |
| |
改变当前播放速率
参数:
speed :int 播放速率,默认为None(即不改变原速率),初始值为1,大于1表示加快,小于1表示放慢
def restore |
( |
|
self, |
|
|
|
prs_flag = True , |
|
|
|
color_flag = True , |
|
|
|
looks_flag = True |
|
) |
| |
还原模型为初始状态,包括模型内部prs、透明度、颜色
(除了模型的pos)
参数:
prs_flag :bool Position/Rotation/Scale 是否还原
color_flag :bool 颜色/Alpha 是否还原
looks_flag :bool 外观(显隐/贴图) 是否还原
def restart_sp2_par |
( |
|
self, |
|
|
|
sp2 = True , |
|
|
|
par = True |
|
) |
| |
把模型内部的精灵和粒子,都重新播放
参数:
sp2 :bool 模型内的所有精灵是否重新播放
par :bool 模型内的所有粒子是否重新播放
def change_looks |
( |
|
self, |
|
|
|
look_name, |
|
|
|
restore_look = True |
|
) |
| |
更换模型的外观
- Parameters:
-
look_name | 外观名 |
restore_look | 更换外观时是否还原原模型,为True时会把各部件的显隐/贴图还原。 |
- Return values:
-
def set_pick |
( |
|
self, |
|
|
|
flag = 1 |
|
) |
| |
设置物体是否参与pick/碰撞等检测
参数:
flag :int pick_flag,设置的pick类型,默认为1
Reimplemented from obj2d.
Reimplemented from obj2d.
def create_alpha_map |
( |
|
self ) |
|
创建alpha map,用于pick时的hit_by_alpha检测
慎用此函数,模型部件比较多的话会造成卡的现象
Reimplemented from obj2d.
def set_layer |
( |
|
self, |
|
|
|
layer_id |
|
) |
| |
把2D对象挂到某一层上
参数:
layer :int 场景某一层
Reimplemented from obj2d.
def bring_to_front |
( |
|
self ) |
|
Reimplemented from obj2d.
def bring_to_back |
( |
|
self ) |
|
Reimplemented from obj2d.
作用: 使得逻辑帧里面设置的位置信息能马上生效,从而使得碰撞等也马上生效.
Reimplemented from obj2d.
Member Data Documentation
所属的layer_id.
int 只读,写入并不会真正修改层次.
Reimplemented from obj2d.
透明度.
int 读写 0-255.
Reimplemented from obj2d.
颜色值RGB.
int 读写 rgb范围0x000000 -- 0xFFFFFF. 0x000000为黑色,0xFFFFFF为白色.
Reimplemented from obj2d.
Property Documentation
name = property(_get_name) [static] |
名字.
string 只读.
Reimplemented from obj2d.
size = property(None, None) [static] |
大小读写无效.
Reimplemented from obj2d.