向 ActionScript 变量添加多个类别

Posted

技术标签:

【中文标题】向 ActionScript 变量添加多个类别【英文标题】:Adding multiple categories to ActionScript variables 【发布时间】:2012-01-18 05:10:27 【问题描述】:

我是一名设计师,试图为 Web 项目修改一些 ActionScript。在定义变量时,我希望它们中的一些具有多个参数/类别(对于我缺乏词汇,我深表歉意)。

例如...

var Projects= [
myName:"Example1",myType:"OldProject",myCopy:"Coming soon."    
// etc

];

如何包含多个参数,例如,myType 可以同时设置为 OldProject2005Project

感谢您的帮助!

【问题讨论】:

【参考方案1】:

您可以将myType 参数设置为字符串数组,而不仅仅是一个。

然后您可以循环访问它们以查找所有 types 值。

类似这样的:

var Projects= [
myName:"Example1",types:["OldProject", "2005Project"],myCopy:"Coming soon."
];

for (int i = 0; i < Projects[0].types.length; i++) 
    // access them with Projects[0].types[i]

【讨论】:

那应该是一个数组初始化器:types:["OldProject", "2005Project"](方括号)。【参考方案2】:

一些选项包括:

//1. JSON like object option
var projects:Object = myName:"Example1",myType:"OldProject",myCopy:"Coming soon.";
trace(projects.myName + projects.myType + "etc..."); //Access it

//2. Dicitonary option
import flash.utils.Dictionary;
var d:Dictionary = new Dictionary();
d["myName"] = "Example1"; //Set values like this
trace(d["myName"]); //Access them like this

还有一个关联数组、一个自定义类等...,但我会为您推荐选项 1,特别是如果您是设计师而不是程序员

如果您想“堆叠属性,您可以将 myType 设置为数组或其他对象,例如:

obj.myType = one:"OldProject", two: "2005Project";
trace(obj.myType.one + obj.myType.two);

obj.myType = new Array();
obj.myType[0] = "OldProject";
obj.myType[1] = "2005Project";
trace(obj.myType[0], obj.myType[1]); //Access them

【讨论】:

我想你可能只是在那里拉了我的答案:) 大声笑,我重新阅读了 OP 并忘记包括“堆叠”的东西。我会为你 +1,因为你在我之前添加了那部分。

以上是关于向 ActionScript 变量添加多个类别的主要内容,如果未能解决你的问题,请参考以下文章

ActionScript 3 AS3:使用新的TextFormat()向TextInput组件添加样式

ActionScript 3 AS3:使用新的Object()向TextField()添加文本样式

ActionScript 3 AS3:使用新的StyleSheet()对象向TextField()添加样式

ActionScript 3 AS3:使用新的TextFormat()向TextArea组件添加样式

iOS开发之category(类别)

ActionScript 3 AS3 Clicktag - 适用于多个ClickTag变量