【发布时间】:2013-05-05 00:44:15
【问题描述】:
我正在制作一款游戏,我正在尝试为对象创建一种处理彼此碰撞的方法。我想做类似的事情:
//Imaginary C#
public SomethingThatCollides()
{
CollisionEvent<ObjectA> += CollisionWithObjA;
CollisionEvent<ObjectB> += CollisionWithObjB;
}
void CollisionWithObjA(ObjectA other)
{
//Do something
}
void CollisionWithObjB(ObjectB other)
{
//Do something else
}
例如,当CollisionEvent<ObjectA> 被引发(可能是通过一些碰撞检查代码)时,应该调用CollisionWithObjA。 CollisionWithObjB 相同;当检测到与 ObjectB 的冲突时,它将引发 CollisionEvent<ObjectB> 事件,从而导致 CollisionWithObjB 被调用。
这样的事情可能吗?
【问题讨论】:
-
很难理解您要做什么。你的意思是当碰撞发生时你会调用'SomethingThatCollides'方法?请提供更多解释
-
@Andrew:如果我有objA、objB和objC,它们都可以和它们全部碰撞??? AB、AC、BC会有碰撞方法吗?
-
或者它是一个主对象,它与所有其他对象发生碰撞,对彼此之间的碰撞没有任何处理?
-
可能有,但在这种情况下,我只有 AB 和 AC,没有 BC