向 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
可以同时设置为 OldProject
和 2005Project
?
感谢您的帮助!
【问题讨论】:
【参考方案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()添加样式