2016-07-30 71 views
0

我在我的项目中有3个文件夹,名为脚本,光子和标准资产。现在我需要将标准资产文件夹引用到'scripts'文件夹中的一个脚本中,只有将该文件夹复制到标准资产时(因为它具有不同的名称空间),才有可能这样做。但是,光子。那么有没有办法在不复制文件夹的情况下进行参考?我可以参考包含在不同命名空间中的脚本吗?

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

回答

0

实际上,namespace与Unity没有关系。你可以在你的类别中使用namespacecode。你只需要通过使用包含命名空间。

using UnityEngine; 
using System.Collections; 

例如: 我有一个名为WeaponStandard Assets文件夹下的脚本。

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

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

然后,我在其他地方有GonnaCallWeapon脚本。

using UnityEngine; 

using FooNamespace; 

public class GonnaCallWeapon : MonoBehaviour { 
    public Weapon weapon; 
    void Start() { 
     weapon.LogMeUp(); 
     Debug.Log("I called LogMeUp"); 
    } 
} 
  • 我重视我的WeaponGonnaCallWeapon脚本层次结构中的一个对象,并成立了weapon变量。

Example

+0

我想引用一个脚本说,从标准的资产跨平台的命名空间的“武器”,我该怎么办呢?现在我得到一个错误,因为它无法检测到武器脚本。 –

+0

我编辑了我的文章,并希望它有帮助。 –

+0

谢谢,我的问题是该武器没有命名空间。 gonnacallweapon在命名空间里面 –

相关问题