首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有方法将Image和string变量存储在一个数组中?(统一)

是否有方法将Image和string变量存储在一个数组中?(统一)
EN

Stack Overflow用户
提问于 2019-05-27 15:19:04
回答 2查看 499关注 0票数 1

我正在制作一个统一的3D游戏,玩家可以与图像和笔记交互(大约3-4段)。

我创建了画布,当玩家与地面上的音符交互时,菜单(画布)弹出。

我想知道,是否有任何方法将字符串变量与图像gameObjects存储在同一个数组中?另外,我要在画布上使用这些图像,所以我应该创建图像还是雪碧呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-27 15:34:23

  1. 如果希望它们是UI组件,则应创建图像组件。
  2. 我认为您可以通过将您的列表定义为两个对象的共同祖先;Object来实现这一点。
代码语言:javascript
复制
var list = new List<object>();

list.Add("Hello");
list.Add(5);
list.Add(MyImage);

foreach (object obj in list) 
{
    if (obj is string) 
    {
        Debug.Log(obj.ToString());
    }
}
票数 1
EN

Stack Overflow用户

发布于 2019-05-27 17:51:47

您应该使用两个继承的公共基类型。如果您想要存储的两种东西都是MonoBehaviour类型的,那么使用它作为基本类型而不是object非常有意义。

代码语言:javascript
复制
public List<MonoBehaviour> List = new List<MonoBehaviour>();

这至少为您提供了MonoBehaviour/Component实现的所有功能。这听起来像是后来在.transform.position中相互交织在一起。

如果您正在谈论诸如ImageText之类的关于UI的内容,您甚至可以使用UI.MaskableGraphic作为常见类型。

代码语言:javascript
复制
public List<MaskableGraphic> List = new List<MaskableGraphic>();

它提供了更多与UI相关的属性,例如colorcanvas

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56328738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档