【发布时间】:2015-04-14 13:22:28
【问题描述】:
我需要在我的代码中声明一个变量类,以便我可以访问一个函数(在所有类中具有相同的名称)但每次执行不同的行为。
这是我的代码:
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 ();
}
}
知道(该类将是可变的)。
谢谢大家的回答,但有点特别。
我的游戏是关于玩家和游戏对象之间的交互,当玩家接近任何“可交互”的项目时,比如说出现一个气泡,这个气泡是一个游戏对象,对于任何允许交互的对象都是一样的,
所以,既然我在做一个 2D 游戏,我想,如果我制作一个“通用”会很棒 EmptyGameObject 包含 anyObject 将包含的所有常见方面,我将主要功能和常见功能分组到一个通用脚本中,然后将其添加到这个 emptyGameObject,然后我将 Bubble 预制件添加到这个 Game 对象,我添加了一个代码给它这个代码包含我在第一篇文章中写的内容。
我在想,现在每次我想要一个对象时,我只需放下这个空的游戏对象预制件并更改精灵和特征。
并且每个对象都有不同的行为(例如:我可以删除一个苹果,就像角色消费它一样,但我不能消费一扇门,门宁愿触发动画而不是被破坏)我在一个每个项目的类。
现在无论类是什么(对象是),触发器都在气泡类中(我首先发布的),但是类每次都会不同,我不能创建一个包含多态性的类,因为它的上下文不同每次。
【问题讨论】:
-
那么你的问题是如何将变量传入类中?
-
不是不要在类之间传递变量,而是要有一个类型类,它的类会根据我在检查器中添加的内容而改变,并且任何要添加的类都包含“Behaviour()”函数我在创建它时开发...所以我确定 Behaviour() 函数,但类可能会改变,我不知道我将如何拥有类,因为我将为游戏创建的每个对象都将包含NameBehaviour.cd 类并包含此函数。