我需要在我的代码中声明一个变量类,这样我就可以访问一个函数(在所有类中具有相同的名称),但每次都执行不同的行为。)
这是我的代码:
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 ();
}
}
知道(该类将是可变的)。
谢谢你们的回答,但有点特别。
我的游戏是关于玩家和游戏对象之间的互动,当玩家接近任何“可交互”的项目时,可以说,泡泡出现,这个泡泡是GameObject,对于任何允许交互的对象都是一样的,< / p>
所以,既然我正在做一个2D游戏,我想,如果我做一个“普遍”的话会很棒 EmptyGameObject包含anyObject将包含的所有常见方面,并且我在一般脚本中将主要功能和常用方法分组并将其添加到此emptyGameObject,然后我将Bubble预制件添加到此Game对象中,并将代码添加到此代码中包含我在第一篇文章中写的内容。
我在想,现在每次我想要一个物体时,我只需要放下这个空的对象预制件并更改精灵和特征。
并且每个对象都有不同的行为(例如:我可以删除一个苹果,好像角色消耗它但我不能消耗门,门宁愿触发动画而不是被破坏)我在一个指定所有这一切每个项目的课程。
现在无论类是什么(对象是),触发器都在冒泡类中(我先发布),但每次类都不同,我不能创建一个包含多态的类,因为它不是同一个上下文每一次。
答案 0 :(得分:1)
我认为你应该创建一个接口来声明你想在不同类中使用的所有函数。
interface IBehaviour
{
void Behaviour();
void AnotherBehaviour();
}
用这个来定义一个实现接口的类能够实现的行为。
然后你的课程将是:
class MyClass1 : Ibehaviour
{
}
class MyClass2 : IBehaviour
{
}
除此之外,您还可以使用抽象类。互联网上有很多关于这些主题的精心撰写的文章。
首先,我建议熟悉OOP原则 This链接是一种很好的开始方式。
祝你好运。答案 1 :(得分:0)
谢谢大家,
通过创建一个包含我们想要继承的类的全局(抽象)gameOject解决了这个问题,然后每当到这个类的gameObject调用(Behavior函数)时,它都会触发该函数的覆盖。对于这个对象。