在LiveCode中是否有一个数据结构可以用作关联数据的"持有人",让我集体处理它?我来自Java/Javascript/C背景,所以我正在寻找一个类或结构类型的数据结构。
我已经找到了Groups的例子,它们似乎有一些这样的功能,但感觉有点像我为了满足我的需要而改变了语言。
作为一个具体的例子,假设我的屏幕上有一个图像字段,它将随机显示一个图像,当按下时,播放一个相关的声音剪辑。我希望创建一个包含图像路径和相关声音剪辑路径的"结构"列表,并使用该数据填充图像字段并决定播放哪个声音剪辑。
在这种情况下使用Group是正确的结构吗?还是我的方式与LiveCode的工作方式不太匹配?
这需要一点时间来适应,但xTalk的世界比任何普通的过程语言都要简单和开放得多。那么多你曾经不得不管理的东西,现在都不再需要了。
所以当splash21说你可以在一个自定义属性中存储所有的图像和声音引用时,他实际上是在说LiveCode环境包含了内在的、高级的功能,使这些东西可以立即访问,你唯一需要做的就是调用它们,它们就会工作。
欣赏这一点的唯一方法是编写一些简单的程序,真正看到什么是可能的。制作你的应用程序。您所提到的一切都可以在单个处理程序中使用十几行代码来完成。我建议您加入LiveCode使用列表和论坛。社区充满活力,渴望提供帮助,经常为特定问题提供完整的解决方案,但更重要的是,作为新用户的指导和导师
克雷格·纽曼LiveCode中的数组实际上是关联数组(如散列映射)。键与值相关联。该值也可以是一个数组。
用户指南第5.5.7章说
数组元素可以包含嵌套元素或子元素,使它们成为多维的。这种类型的数组非常适合处理分层数据结构,如树或XML。要访问子元素,只需使用一组额外的square来声明它括号。
put "ABC" into myVariable["myKeyName"][“aChildElement”]
见也如何在堆栈中存储图片?
Dave-我希望在不久的将来实现一个类似结构的容器。同时,正如splash21所提到的,您可以使用自定义属性(或者更好的是自定义属性集)来做您想做的事情。这将为每个对象提供一个伪结构体,您可以将文件和声音规范实现到属性中。如果你把它和一个行为对象结合使用,你最终会非常接近一个真正的可继承的类结构。