3

LiveCode 中是否有可以用作关联数据的“持有者”的数据结构,让我共同处理它?我来自 Java / Javascript / C 背景,所以我正在寻找 Class 或 Struct 类型的数据结构。

我找到了 Groups 的例子,它们似乎有一些这样的功能,但感觉有点像我在弯曲语言来满足我的需求。

作为一个具体的例子,假设我的屏幕上有一个图像字段,它会随机显示一个图像,并在按下时播放相关的声音剪辑。我希望创建一个包含图像路径和相关声音剪辑路径的“结构”列表,并使用该数据填充图像字段并决定播放什么声音剪辑。

在这种情况下,组是否是正确的结构?还是我以一种与 LiveCode 的工作方式不相符的方式来处理这个问题?

4

3 回答 3

1

这需要一点时间来适应,但 xTalk 世界比任何普通的程序语言都更简单、更开放。您曾经需要管理的很多东西都不再需要了。

因此,当 splash21 说您可以将所有图像和声音引用存储在自定义属性中时,他实际上是在说 LiveCode 环境包含内在的高级功能,使这些东西可以立即访问,而您唯一需要的是打电话给他们,他们只是工作。

欣赏这一点的唯一方法是制作一些简单的程序,真正了解可能发生的事情。做你的申请。您提到的所有事情都可以在一个处理程序中使用十几行代码来完成。我建议您加入 LiveCode 使用列表和论坛。社区充满活力,乐于助人,经常为特定问题提供完整的解决方案,但更重要的是,作为新用户的指南和导师

克雷格纽曼

于 2013-05-28T15:53:46.930 回答
1

LiveCode 中的数组实际上是关联数组(如哈希映射)。键与值相关联。该值也可能是一个数组。

用户指南的第 5.5.7 章

数组元素可能包含嵌套或子元素,使它们成为多维的。这种类型的数组非常适合处理分层数据结构,例如树或 XML。要访问子元素,只需使用一组额外的方括号声明它。

put "ABC" into myVariable["myKeyName"][“aChildElement”]

另请参阅 如何将图片存储在堆栈中?

于 2013-05-28T22:42:43.563 回答
0

Dave-我希望在不久的将来实现一个类似结构的容器。同时,正如 splash21 所提到的,您可以使用自定义属性(或者更好的是自定义属性集)来做您想做的事情。这将为您提供每个对象的伪结构,您可以将文件和声音规范实现到属性中。如果您将它与行为对象结合使用,您最终将非常接近真正的可继承类形成。

于 2013-05-28T22:14:09.717 回答