2016-07-30 5 views
0

Ich habe 3 Ordner in meinem Projekt, benannte Skripte, Photon und Standard-Assets. Jetzt muss ich einen Verweis vom Standard-Assets-Ordner auf ein Skript im Ordner "scripts" machen, was nur möglich ist, wenn ich den Ordner in die Standard-Assets kopiere (weil er einen anderen Namensraum hat). Aber ich bekomme einen Fehler mit das Photon.So gibt es eine Möglichkeit, eine Referenz ohne Kopieren des Ordners zu machen?Kann ich auf ein Skript verweisen, das in einem anderen Namespace enthalten ist?

using UnityEngine; 
namespace UnityStandardAssets.CrossPlatformInput 
{ 
public class ButtonHandler : MonoBehaviour 
{ 
    public wepScript ws; //error cannot find wepScript 
} 
} 


    using UnityEngine; 
    using System.Collections; 

public class wepScript : MonoBehaviour { 
        } 

Antwort

0

Eigentlich ist namespace nicht etwas für die Einheit zusammen. Sie können das in Ihren Klassen verwendete namespace oder code verwenden. Sie müssen den Namespace nur über using einfügen.

using UnityEngine; 
using System.Collections; 

Zum Beispiel: Ich habe ein Skript unter Standard Assets Ordner Weapon genannt.

using UnityEngine; 
namespace FooNamespace 
{ 
    public class Weapon : MonoBehaviour { 

     public void LogMeUp() 
     { 
      Debug.Log("I have been called"); 
     } 
    } 
} 

Und dann habe ich GonnaCallWeapon Skript woanders.

using UnityEngine; 

using FooNamespace; 

public class GonnaCallWeapon : MonoBehaviour { 
    public Weapon weapon; 
    void Start() { 
     weapon.LogMeUp(); 
     Debug.Log("I called LogMeUp"); 
    } 
} 
  • Ich habe meine Weapon und GonnaCallWeapon Skripte auf ein Objekt in der Hierarchie, und richten Sie die weapon Variable angebracht.

Example

+0

i ein Skript beziehen möchten sagen "Waffe" von der Standard-Assets Cross-Plattform-Namensraum, wie es ich tun? Jetzt bekomme ich einen Fehler, weil das Waffenskript nicht erkannt werden kann. –

+0

Ich habe meinen Post editiert und hoffe, es hilft. –

+0

Danke, mein Problem ist, dass die Waffe keinen Namensraum hat. gonnacallweapon ist in einem Namespace –

Verwandte Themen