【发布时间】:2014-09-16 20:54:54
【问题描述】:
我是新人,我正在开发像Flippy Bird 这样的游戏,如果我的玩家与另一个物体发生碰撞,那么我的玩家的一个生命将被禁用,并且对撞机从一个地方移动到另一个地方,并且有很多对撞机和对撞机有点宽,所以当我的玩家与该对撞机接触时,它的三个生命在很短的时间内被一一禁用。
我明白当我的玩家一次又一次地触摸同一个物体时。所以玩家所有的生命都会同时被切断,但我不知道如何解决这个问题。
碰撞代码如下。
void OnTriggerEnter(Collider C){
if(C.gameObject.name == "DownCollider" || C.gameObject.name == "Cylinder"){
if(Life1.activeInHierarchy){
Life1.SetActive(false);
}
else if(Life2.activeInHierarchy){
Life2.SetActive(false);
}
else if(Life3.activeInHierarchy){
Life3.SetActive(false);
}
}
【问题讨论】:
-
你可能想在扣除生命后尝试一段无懈可击的时间。这可能会阻止从一次碰撞中扣除多个生命
-
如何做到这一点任何示例代码都会对我有很大帮助..Dharmesh
-
if(Life1.activeInHierarchy && deductLife) { Life1.SetActive(false);扣除寿命=假; } 稍后将 deductLife 设置为 true
标签: unity3d collision unityscript flappy-bird-clone