声明一个变量 class

Declare a variable class

我需要在我的代码中声明一个变量 class 以便我可以访问一个函数(在所有 classes 中具有相同的名称)但每次都执行不同的行为)。

这是我的代码:

using UnityEngine;
using System;
using System.Collections;

public class Bubble : ItemBehaviour
{

    // Use this for initialization
    void Start ()
    {

    }

    // Update is called once per frame
    void Update ()
    {

    }

    void OnMouseDown ()
    {
        theclass.Behaviour ();
    }
}

知道(class 会变)。


谢谢你们的回答,但有点特别。

我的游戏是关于当玩家接近任何物品时玩家和游戏对象之间的互动 "interactible" 比方说,出现一个泡泡,这个泡泡是一个 GameObject 并且对于任何对象都是一样的允许互动,

既然我正在做一个 2D 游戏,我想,如果我做一个 "universal" 会很棒 EmptyGameObject 包含 anyObject 将包含的所有常见方面,我将主要功能和常见功能分组在一个通用脚本中,并将其添加到这个空的 GameObject 中,然后我将 Bubble 预制件添加到这个 Game 对象中,并向它添加了一段代码这段代码包含我在第一个 post.

中写的内容

我在想,现在每次我想要一个对象时,我只需删除这个空的游戏对象预制件并更改精灵和特性。

并且每个对象都有不同的行为(例如:我可以删除一个苹果,就像角色消耗它一样,但我不能消耗一扇门,门宁愿触发动画而不是被破坏)我正在指定所有这些在每个项目的 class 中。

现在无论 class 是什么(对象是)触发器在气泡 class 中(我首先 post 编辑)但是 class 将是每次都不一样,我无法制作包含多态性的 class,因为它每次都不相同。

我认为你应该创建一个接口来声明你想在不同 classes 中使用的所有函数。

interface IBehaviour
{
   void Behaviour();
   void AnotherBehaviour();
}

用这个你可以定义一个 class 实现接口的行为。

然后你的 classes 将是:

class MyClass1 : Ibehaviour
{
}

class MyClass2 : IBehaviour
{
}

除此之外,您还可以使用抽象 classes。互联网上有很多关于这些主题的写得很好的文章。

首先,我建议熟悉 OOP 原理。
This link 是一个很好的开始。

祝你好运。

谢谢大家,

通过创建一个包含我们要继承的 class 的全局(抽象)gameOject 解决了这个问题,然后每次附加到此 class 的 gameObject 调用(行为函数) 它会触发此对象的此函数的任何覆盖。