在 Actionscript 3 中链接两个数组
Posted
技术标签:
【中文标题】在 Actionscript 3 中链接两个数组【英文标题】:Linking two arrays in Actionscript 3 【发布时间】:2015-07-25 05:56:03 【问题描述】:对actionscript非常陌生,
我试图链接两个数组。基本上我有一个包含 8 个单词的单词数组,并且我有一个包含 8 个影片剪辑的影片剪辑数组。我的目标是链接这两个数组,以便用户必须单击与屏幕上显示的单词匹配的正确影片剪辑。
非常感谢所有帮助!
【问题讨论】:
拥有一个对象数组,每个对象有两个字段不是更有意义吗? 是的,它可能会,您如何编写该代码?我刚开始自学,所以我不知道正确的术语或有很多知识 仅供参考,您应该将第二个问题作为一个单独的问题发布,而不是编辑这个问题来问两件事。另请参阅thesetwo有关该主题的元问题。 【参考方案1】:var listAry:Array = [];
var orangeJuice:Object = new Object();
orangeJuice.name= "Orange Juice";
orangeJuice.matchingImage=oj;
listAry[0]=orangeJuice;
////etc etc
你去吧,伙计。如果您有任何问题,希望对您有所帮助。
【讨论】:
我是否也保留了上面的变量,因此 - randomlistword、matchingimages 和 randomnumber?或者干脆去掉 randomlistword? 基本上,如果您使用名称和匹配图像定义数组中每个对象的属性,则不需要任何其他变量(当然除了您的 randomNumber) 好的,谢谢,我在我的代码中实现了这一点,现在当它在页面上显示 listAry 时,它不仅仅显示随机生成的名称,而是显示 [object Object],我怎样才能让它显示我的话? 替换 randomword.text = randomlistword[randomnumber]; with randomword.text = listAry[randomnumber].name;像这样访问您想要的任何属性 您的明星,现在一切正常!接受你的回答【参考方案2】:另一种方法是使用Dictionary。
var foodionary:Dictionary = new Dictionary();
foodionary["Orange Juice"] = oj;
foodionary["Sandwich"] = sand;
//etc...
for(var key:String in foodionary)
trace(key + " matches with " + foodionary[key].id); //assuming your images have ids
不过,对于随机访问,您仍然需要一个数组(或 Vector):
function displayword()
randomnumber = Math.floor(Math.random() * randomlistword.length);
trace("random number = " + randomnumber);
var chosenword = randomlistword[randomnumber];
randomword.text = chosenword
randomword.img = foodionary[chosenword];
randomlistword.splice(randomnumber, 1);
trace("randomlistword array: " + randomlistword);
//close displayword function
【讨论】:
以上是关于在 Actionscript 3 中链接两个数组的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Actionscript 3.0 中的数组 B 中的数组 A 中删除元素?
如何在 Actionscript 3.0 中获取数组的所有排列?
如何在Actionscript 3.0中获取数组的所有排列?