1
我在Flash/AS3中創建了一個益智遊戲。它使用大約30到40個單詞組。我想要做的就是在遊戲開始時加載一組隨機單詞,並在使用它們之後,我想加載另一個隨機組,等等。解決這個問題的最好方法是什麼?我應該使用基於隨機數的switch語句來選擇多個數組還是我應該將它們全部放入一個多維數組中?每組單詞最多可包含2000個單詞。在AS3中使用多個數組的高效方法
我在Flash/AS3中創建了一個益智遊戲。它使用大約30到40個單詞組。我想要做的就是在遊戲開始時加載一組隨機單詞,並在使用它們之後,我想加載另一個隨機組,等等。解決這個問題的最好方法是什麼?我應該使用基於隨機數的switch語句來選擇多個數組還是我應該將它們全部放入一個多維數組中?每組單詞最多可包含2000個單詞。在AS3中使用多個數組的高效方法
最好使用xml來創建詞組並輕鬆地將其拉出。所以,我的意思是,使用多維數組很有效率。
var wordgroups:Array = new Array();
wordgroups.push(new Array("word1", "word3", "word5"), new Array("word2", "word4", "word6")); //you can easily create whole this multidimensional array with xml
wordgroups.shuffle(); //shuffles array (flashpunk library have this function, you may check it out and clone it's function if you can)
var selectedwordgroup:Array;
selectedwordgroup = wordgroups.pop(); //you can easily take a word group from that array and it removes selected wordgroup from the "wordgroups" array automatically with pop() function.
什麼東西XML
那是一個樣本* .xml文件:
<?xml version="1.0" encoding="utf-8"?>
<wordstuff>
<wordgroups>
<group>word1,word2,word3,word4,word5,word6</group>
<group>word7,word8,word9,word10,word11,word12</group>
<group>word13,word14,word15,word16,word17,word18</group>
</wordgroups>
</wordstuff>
,這是拉從XML數據的樣本(你要嵌入您的XML的東西到你的遊戲,所以,你不需要任何的url加載器對象,你可以像嵌入圖像文件一樣嵌入它,但有一點區別) 然後你就可以用這個嵌入式xml創建數組了
var pulledgroups:Array = new Array();
var my_xml:XML = WORDSTUFF //that's embedded file
var wordgroups:XMLList = my_xml.wordgroups.group;
var group:XML;
for each (group in wordgroups)
{
var pulledwordgroup:Array = group.split(",");
pulledgroups.push(pulledwordgroup);
}
這一切,這種單一的代碼段,在同一時間
拉的所有數據,但最好還是不要使用「洗牌」的東西,你的方式可以更好的表現,我的意思是使用隨機數及採取隨機數組從wordgroups ... –
如何從XML創建這些數組? – milano
這很容易,我會給我的答案添加一個小例子,只需一分鐘 –