【问题标题】:Why my Players life disappear at once?为什么我的玩家生命会立即消失?
【发布时间】: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


【解决方案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;
            }
        }

感谢肯尼斯LJJ的帮助。

问候,

佛法

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-23
    • 1970-01-01
    • 2020-01-21
    相关资源
    最近更新 更多