我正在制作一款游戏,并且我正在尝试为对象处理彼此冲突的方法。我想要做的事,如:仿制药和事件
//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'方法?请提供更多解释 – prashantsunkari 2013-05-05 01:02:18
@Andrew:如果我有objA,objB和objC,它们都可以与它们全部相撞? AB,AC和BC会有碰撞方法吗? – 2013-05-05 01:28:59
或者它是一个主人与其他人相互碰撞的对象,没有对他人之间的相互碰撞进行处理? – 2013-05-05 01:29:36