通过另一个脚本访问Kudan事件,变量

时间:2016-07-26 08:45:00

标签: c# unity3d unityscript kudan

遵循Kudan的SampleApp脚本:

using UnityEngine;
using System.Collections;

namespace Kudan.AR.Samples
{
    /// <summary>
    /// Script used in the Kudan Samples. Provides functions that switch between different tracking methods and start abitrary tracking.
    /// </summary>
    public class SampleApp : MonoBehaviour
    {
        public KudanTracker _kudanTracker;  // The tracker to be referenced in the inspector. This is the Kudan Camera object.
        public TrackingMethodMarker _markerTracking;    // The reference to the marker tracking method that lets the tracker know which method it is using
        public TrackingMethodMarkerless _markerlessTracking;    // The reference to the markerless tracking method that lets the tracker know which method it is using

        public void MarkerClicked()
        {
            _kudanTracker.ChangeTrackingMethod(_markerTracking);    // Change the current tracking method to marker tracking
        }

        public void MarkerlessClicked()
        {
            _kudanTracker.ChangeTrackingMethod(_markerlessTracking);    // Change the current tracking method to markerless tracking
        }

        public void StartClicked()
        {
            // from the floor placer.
            Vector3 floorPosition;          // The current position in 3D space of the floor
            Quaternion floorOrientation;    // The current orientation of the floor in 3D space, relative to the device

            _kudanTracker.FloorPlaceGetPose(out floorPosition, out floorOrientation);   // Gets the position and orientation of the floor and assigns the referenced Vector3 and Quaternion those values
            _kudanTracker.ArbiTrackStart(floorPosition, floorOrientation);              // Starts markerless tracking based upon the given floor position and orientations
        }
    }
}

要访问Kudan的函数/事件/变量,我需要使用相同的Kudan命名空间创建脚本。我不知道这可能有什么上升或下降,因为我不太了解名称空间。

我的问题是,我可以访问那些变量/函数/ etc而不使我的脚本在同一名称空间中吗?如果是这样,怎么样?

我自己学习编程,所以我很抱歉,如果这对某些人来说太基础了,谢谢。

1 个答案:

答案 0 :(得分:1)

如果您不想在整个脚本中使用相同的命名空间,那么在声明变量时,您需要显式声明命名空间。

所以,而不是说:

namespace Kudan.AR.Samples
{
    public class SampleApp
    {
        public KudanTracker _kudanTracker; 
    }
}
你会说:

public class SampleApp
{
    public Kudan.AR.KudanTracker _kudanTracker;
}

有关详细信息,我建议您查看how to use Namespaces