我是团结的新手,我正在开发像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);
}
}
答案 0 :(得分:1)
我只是尝试这个,它对我有用..
void Update () {
Vector3 pos = transform.position;
pos.y -= 0.03f;
transform.localRotation = Quaternion.Euler(60,270,90);
transform.position = pos;
if(Input.GetMouseButton(0)){
transform.localRotation = Quaternion.Euler(72,90,-90);
pos.y += 0.1f;
transform.position = pos;
}
LifeT -= Time.deltaTime;
if(LifeT <= 0){
LifeTime = true;
LifeT = 5f;
}
}
void OnTriggerEnter(Collider C){
if(C.gameObject.name == "DownCollider" || C.gameObject.name == "Cylinder"){
print(LifeTime);
if(Life1.activeInHierarchy && LifeTime){
Life1.SetActive(false);
LifeTime = false;
}
else if(Life2.activeInHierarchy && LifeTime){
Life2.SetActive(false);
LifeTime = false;
}
else if(Life3.activeInHierarchy && LifeTime){
Life3.SetActive(false);
LifeTime = false;
}
}
感谢KennethLJJ的帮助。
此致
Dharmesh