1

私は団結が初めてでFlippy Bird、プレーヤーが別のオブジェクトと衝突すると、プレーヤーの1つのライフが無効になり、コライダーがある場所から別の場所に移動し、コライダーが非常に多く、コライダーが小さいようなゲームを開発しています少し広いので、私のプレーヤーがそのコライダーに触れると、その 3 つのライフが非常に短い時間で 1 つずつ無効になります。

プレーヤーが同じオブジェクトに何度も触れると、それは理解できます。プレイヤー全員のライフが同時にカットされるようにしますが、これを解決する方法がわかりません。

衝突のコードは以下のとおりです。

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);

        }
    }
4

1 に答える 1

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;
            }
        }

助けてくれてありがとう

よろしく、

ダルメッシュ

于 2014-09-11T09:17:12.830 に答える