物理模拟PhysicsWorld本页总览PhysicsWorld 描述: 表示游戏中的物理世界的类。 类对象:PhysicsWorld Class。 继承自:Node。 query 类型: 函数。 描述: 查询与指定矩形区域相交的所有物理体。 签名: query: function(self: PhysicsWorld, rect: Rect, handler: function(Body): boolean): boolean 参数: 参数名类型描述rectRect要查询的矩形区域。handlerfunction对于查询中找到的每个物理体调用的函数。 返回值: 返回类型描述boolean查询是否被中断,true 表示已中断,false 表示未中断。 handler的定义: handler的参数: 参数名类型描述bodyBody查询中找到的物理体。 handler的返回值: 返回类型描述boolean是否继续查询更多物理体,返回 false 继续,true 停止。 raycast 类型: 函数。 描述: 从起点发射一条射线穿过物理世界并找到与射线相交的物理体。 签名: raycast: function(self: PhysicsWorld, start: Vec2, stop: Vec2, closest: boolean, handler: function(Body, point: Vec2, normal: Vec2): boolean): boolean 参数: 参数名类型描述startVec2射线的起点。stopVec2射线的终点。closestboolean是否在与射线相交的最近物理体上停止射线投射。将 closest 设置为 true 可以获得更快的射线投射搜索效率。handlerfunction对于射线投射中找到的每个物理体调用的函数。 返回值: 返回类型描述boolean射线投射是否被中断,true 表示已中断,false 表示未中断。 handler的定义: handler的参数: 参数名类型描述bodyBody射线投射中找到的物理体。pointVec2射线与物理体相交的点。normalVec2相交点处的法线向量。 handler的返回值: 返回类型描述boolean是否继续投射射线以获得更多物理体,返回 true 停止,false 继续。 setIterations 类型: 函数。 描述: 设置物理世界做物理模拟计算的速度迭代和位置迭代次数。 签名: setIterations: function(self: PhysicsWorld, velocityIter: integer, positionIter: integer) 参数: 参数名类型描述velocityIterinteger要执行的速度迭代次数。positionIterinteger要执行的位置迭代次数。 setShouldContact 类型: 函数。 描述: 设置两个物理组是否会彼此碰撞。 签名: setShouldContact: function(self: PhysicsWorld, groupA: integer, groupB: integer, contact: boolean) 参数: 参数名类型描述groupAinteger第一个物理对象分组。groupBinteger第二个物理对象分组。contactboolean两个组是否应该彼此碰撞。 getShouldContact 类型: 函数。 描述: 获取两个物理组是否会彼此碰撞。 签名: getShouldContact: function(self: PhysicsWorld, groupA: integer, groupB: integer): boolean 参数: 参数名类型描述groupAinteger第一个物理对象分组。groupBinteger第二个物理对象分组。 返回值: 返回类型描述boolean两个组是否会彼此碰撞。