我可以在Unity设置中的资源文件夹中调用两个不同类的函数。我也可以从我的插件文件夹访问脚本文件的功能,但反之亦然。例如
以下是我的Assets文件夹中的一个类,用于游戏对象Spinning Cube
下面的脚本定义了立方体的旋转
public class SpinningCube : MonoBehaviour
{
public float m_Speed = 20f;
private Vector3 m_RotationDirection = Vector3.up;
public Texture btnTexture;
public void ToggleRotationDirection()
{
Debug.Log ("Toggling rotation direction");
if (m_RotationDirection == Vector3.up)
{
MyPlugin.doSomething();
m_RotationDirection = Vector3.down;
}
else
{
MyPlugin.doSomethingElse();
m_RotationDirection = Vector3.up;
}
}
void Update()
{
transform.Rotate(m_RotationDirection * Time.deltaTime * m_Speed);
}
}
插件中的MyPlugin类中的函数>从Spinning cube成功调用Android文件夹。
但是我似乎无法从MyPlugin类调用SpinningCube类中的函数。
using System;
using UnityEngine;
namespace My.Plugins {
public class MyPlugin {
public static void doSomething () {
//doing something
}
public static void doSomethingElse () {
//doing something else
}
}
}
当我尝试从MyPlugin文件访问SpinningCube类中的函数时:
它说
“当前上下文中不存在SpinningCube。”
欢迎任何指针。
我想这样做来代码回电。
答案 0 :(得分:0)
您显然可以访问MyPlugin
类方法,因为它们是static
,这意味着可以访问它们而无需引用类的实例。
要从ToggleRotationDirection
访问MyPlugin
方法,您需要引用SpinningCube
类。
添加:
public SpinningCube spinningCube;
在MyPlugin
类中,然后在Inspector中为其分配具有SpinningCube
脚本的游戏对象。
之后,您将能够使用spinningCube.ToggleRotationDirection();