KBEngine |
Entity类
import KBEngine
成员函数
def baseCall( self, methodName, methodArgs ): |
def cellCall( self, methodName, methodArgs ): |
回调函数
def onDestroy( self ): |
def onEnterWorld( self ): |
def onLeaveWorld( self ): |
def onEnterSpace( self ): |
def onLeaveSpace( self ): |
属性
direction | Tuple of 3 floats as (roll, pitch, yaw) |
id | 只读 Integer |
position | Vector3 |
spaceID | 只读 uint32 |
isOnGround | 只读 bool |
inWorld | 只读 bool |
className | 只读 string |
详细描述
类Entity的实例代表着在client上的游戏对象。一个Entity可以通过MAILBOX访问在base和cell应用程序上的等价的实体。这需要 一组远程调用的函数(在实体的.def文件里指定)。
成员函数文档
def baseCall( self, methodName, methodArgs ):
功能说明:
调用该实体的base部分的方法。
注意:实体在服务端必须有base部分,在客户端只有客户端控制的玩家实体才可以访问该方法。
例子:
js插件: entity.baseCall("reqCreateAvatar", roleType, name);
c#插件: entity.baseCall("reqCreateAvatar", new object[]{roleType, name});
调用该实体的base部分的方法。
注意:实体在服务端必须有base部分,在客户端只有客户端控制的玩家实体才可以访问该方法。
例子:
js插件: entity.baseCall("reqCreateAvatar", roleType, name);
c#插件: entity.baseCall("reqCreateAvatar", new object[]{roleType, name});
参数:
methodName | string,方法名称。 |
methodArgs | objects,方法参数列表。 |
返回:
由于是远程调用,不可能阻塞等待返回,因此无返回值。 |
def cellCall( self, methodName, methodArgs ):
功能说明:
调用该实体的cell部分的方法。
注意:实体在服务端必须有cell部分,在客户端只有客户端控制的玩家实体才可以访问该方法。
例子:
js插件: entity.cellCall("xxx", roleType, name);
c#插件: entity.cellCall("xxx", new object[]{roleType, name});
调用该实体的cell部分的方法。
注意:实体在服务端必须有cell部分,在客户端只有客户端控制的玩家实体才可以访问该方法。
例子:
js插件: entity.cellCall("xxx", roleType, name);
c#插件: entity.cellCall("xxx", new object[]{roleType, name});
参数:
methodName | string,方法名称。 |
methodArgs | objects,方法参数列表。 |
返回:
由于是远程调用,不可能阻塞等待返回,因此无返回值。 |
回调函数文档
def onDestroy( self ):
实体被销毁时调用。
def onEnterWorld( self ):
如果实体非客户端控制实体,则表明实体进入了服务端上客户端控制的实体的View范围,此时客户端可以看见这个实体了。
如果实体是客户端控制的实体则表明该实体已经在服务端创建了cell并进入了space。
如果实体是客户端控制的实体则表明该实体已经在服务端创建了cell并进入了space。
def onLeaveWorld( self ):
如果实体非客户端控制实体,则表明实体离开了服务端上客户端控制的实体的View范围,此时客户端看不见这个实体了。
如果实体是客户端控制的实体则表明该实体已经在服务端销毁了cell并离开了space。
如果实体是客户端控制的实体则表明该实体已经在服务端销毁了cell并离开了space。
def onEnterSpace( self ):
客户端控制的实体进入了一个新的space。
def onLeaveSpace( self ):
客户端控制的实体离开了当前的space。
属性文档
className
实体的类名。
类型:
只读,string |
position
这个实体在世界空间中的坐标(x, y, z),数据由服务端同步到客户端。
类型:
Vector3 |
direction
这个属性描述的是Entity在世界空间中的朝向,数据由服务端同步到客户端。
类型:
Vector3, 其中包含(roll, pitch, yaw),以弧度表示。 |
isOnGround
如果这个属性的值为True,Entity在地面上,否则为False。
如果是客户端控制的实体该属性将会在改变时同步到服务端,其他实体则由服务端同步到客户端,客户端可以判断这个值来强制贴地避免精度带来的影响。
如果是客户端控制的实体该属性将会在改变时同步到服务端,其他实体则由服务端同步到客户端,客户端可以判断这个值来强制贴地避免精度带来的影响。
类型:
可读写, bool |