Public Member Functions | Public Attributes | Properties

model2d Class Reference

iworld2d模块——2D模型类 More...

Inheritance diagram for model2d:
obj2d

List of all members.

Public Member Functions

def __init__
def destroy
def get_unit
def add_unit
def del_unit
def get_children
def play_action
def stop_action
def change_speed_rate
def restore
def restart_sp2_par
def change_looks
 更换模型的外观
def set_pick
def unset_pick
def create_alpha_map
def show
def set_layer
def bring_to_front
def bring_to_back
def flush
 作用: 使得逻辑帧里面设置的位置信息能马上生效,从而使得碰撞等也马上生效.

Public Attributes

 layer_id
 所属的layer_id.
 alpha
 透明度.
 color
 颜色值RGB.

Properties

 name = property(_get_name)
 名字.
 size = property(None, None)
 大小读写无效.

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 destroy (   self )
把该对象从2D场景中销毁
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 stop_action (   self )
停止播放动作
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:
bool更换外观是否成功
def set_pick (   self,
  flag = 1 
)
设置物体是否参与pick/碰撞等检测

参数:
        flag	:int	pick_flag,设置的pick类型,默认为1

Reimplemented from obj2d.

def unset_pick (   self )
解除对象被鼠标点中/碰撞

Reimplemented from obj2d.

def create_alpha_map (   self )
创建alpha map,用于pick时的hit_by_alpha检测
慎用此函数,模型部件比较多的话会造成卡的现象
def show (   self )
显示2D对象

Reimplemented from obj2d.

def set_layer (   self,
  layer_id 
)
把2D对象挂到某一层上
        
参数:
        layer	:int	场景某一层

Reimplemented from obj2d.

def bring_to_front (   self )
把2D对象移到最上层

Reimplemented from obj2d.

def bring_to_back (   self )
把2D对象移到最底层

Reimplemented from obj2d.

def flush (   self )

作用: 使得逻辑帧里面设置的位置信息能马上生效,从而使得碰撞等也马上生效.

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.

 All Classes Namespaces Functions Variables Properties