Configurarea ascunde / dezascunde GameOjbect în unitate (Programare, Unity3D, Arată Ascunde, Jocobiect)

Coder a intrebat.

Încerc să configurez un gameobject simplu de ascundere și dezascundere în Unity, dar se pare că nu reușesc să-mi fac codarea să funcționeze corect. Ce este în neregulă cu ceea ce am scris până acum.

#pragma strict

public var myObject :GameObject;

    if (GUI.Button(new Rect(1120,930,100,50),"3D MODEL"))

    {
        gameObject.SetActive(true);

    }


}

Comentarii

  • gamedev.stackexchange.com va fi poate un loc mai bun pentru a întreba (de asemenea, verificați și answers.unity3d.com, comunitatea de aici este rapidă și poate că știe mai multe despre Unity3D decât oamenii de la SO) ! Oricum, codul tău de aici este doar pentru a dezascunde obiectul jocului, nu? –  > Por Alexandre Beaudet.
3 răspunsuri
Jorge Santos

Poftim, acest lucru ar trebui să vă rezolve problema.http://answers.unity3d.com/questions/7776/how-to-make-an-gameobject-invisible-and-disappeare.htmlMult noroc.

Puteți dezactivați redarea a unui GameObject prin dezactivarea componentei sale MeshRenderer, de ex.

GetComponent(MeshRenderer).enabled = false;

Puteți dezactivați un GameObject în întregime, făcându-l inactiv, de ex.

gameObject.active = false;

Comentarii

  • Nu puneți doar linkul, postați și codul din acea postare ! Dacă postarea dispare, linkul va fi indisponibil ! –  > Por Alexandre Beaudet.
  • Nici o problemă, am făcut asta de multe ori, am fost semnalat și alte chestii… Am învățat pe calea cea mai grea ah ah ! 🙂 –  > Por Alexandre Beaudet.
Alexandre Beaudet

Încercați acest cod în loc de SetActive :

renderer.enabled = true; (to show the game object)

renderer.enabled = false; (to hide the game object)

Dacă gameobjectul are copii în el, această bucată de cod ar putea ajuta :

function Hide() {
    if (#condition#) {
        ToggleVisibility();
    }
}

function ToggleVisibility() {
    // toggles the visibility of this gameobject and all it's children
    var renderers = gameObject.GetComponentsInChildren.();
    for (var r : Renderer in renderers) {
        r.enabled = !r.enabled;
    }
}

( al doilea cod provenind din : http://answers.unity3d.com/questions/14165/show-and-hide-a-prefab-or-gameobject.html)

Comentarii

  • Da, obiectul de joc are copii în el. Poate că acesta este motivul pentru care nu pot ascunde și dezascunde obiectul de joc. Văd că se dezactivează caseta de verificare a redării ochiurilor de plasă, dar ochiurile de plasă nu reapar. –  > Por Coder.
  • Doriți doar să ascundeți obiectul sau să îl puneți cu adevărat inactiv ? Nu sunt același lucru – A funcționat codul pe care ți l-am dat ? –  > Por Alexandre Beaudet.
  • Am vrut doar să ascund și să dezascund gameobject. Asta este. –  > Por Coder.
maksymiuk

A GameObject nu rulează scripturi odată ce este setat ca fiind inactiv. Ceea ce înseamnă în mod inerent că nu poate rula un script pentru a se seta din nou activ. o sursă exterioară trebuie să fie cea care îl activează din nou.