增加物体碰撞判断
This commit is contained in:
parent
7619dffaf1
commit
9bd8229b3f
|
|
@ -59,6 +59,20 @@ e2d::Node * e2d::Collision::getPassiveNode()
|
||||||
return s_pPassiveNode;
|
return s_pPassiveNode;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool e2d::Collision::isCausedBy(const String & name1, const String & name2)
|
||||||
|
{
|
||||||
|
String activeName = s_pActiveNode->getName();
|
||||||
|
String passiveName = s_pPassiveNode->getName();
|
||||||
|
return (activeName == name1 && passiveName == name2) ||
|
||||||
|
(activeName == name2 && passiveName == name1);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool e2d::Collision::isCausedBy(Node * node1, Node * node2)
|
||||||
|
{
|
||||||
|
return (s_pActiveNode == node1 && s_pPassiveNode == node2) ||
|
||||||
|
(s_pActiveNode == node2 && s_pPassiveNode == node1);
|
||||||
|
}
|
||||||
|
|
||||||
e2d::Node* e2d::Collision::isCausedBy(Node * node)
|
e2d::Node* e2d::Collision::isCausedBy(Node * node)
|
||||||
{
|
{
|
||||||
if (s_pActiveNode == node)
|
if (s_pActiveNode == node)
|
||||||
|
|
|
||||||
|
|
@ -46,18 +46,30 @@ public:
|
||||||
// 获取碰撞发生时的被动体
|
// 获取碰撞发生时的被动体
|
||||||
static Node * getPassiveNode();
|
static Node * getPassiveNode();
|
||||||
|
|
||||||
// 判断碰撞是否由该节点引发
|
// 判断发生碰撞的节点名称是否相同
|
||||||
// 如果是,返回与其相撞的节点指针,否则返回空
|
static bool isCausedBy(
|
||||||
static Node * isCausedBy(
|
const String& name1,
|
||||||
Node * node
|
const String& name2
|
||||||
);
|
);
|
||||||
|
|
||||||
// 判断发生碰撞的节点名称是否相同
|
// 判断两物体是否发生碰撞
|
||||||
|
static bool isCausedBy(
|
||||||
|
Node * node1,
|
||||||
|
Node * node2
|
||||||
|
);
|
||||||
|
|
||||||
|
// 判断发生碰撞的任意一方名称是否相同
|
||||||
// 若相同,返回其指针,否则返回空
|
// 若相同,返回其指针,否则返回空
|
||||||
static Node * isCausedBy(
|
static Node * isCausedBy(
|
||||||
const String& name
|
const String& name
|
||||||
);
|
);
|
||||||
|
|
||||||
|
// 判断物体是否发生碰撞
|
||||||
|
// 如果是,返回与其相撞的节点指针,否则返回空
|
||||||
|
static Node * isCausedBy(
|
||||||
|
Node * node
|
||||||
|
);
|
||||||
|
|
||||||
// 开启或关闭物体碰撞监听功能(默认关闭)
|
// 开启或关闭物体碰撞监听功能(默认关闭)
|
||||||
static void setEnable(
|
static void setEnable(
|
||||||
bool enable
|
bool enable
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue