? asked in 電腦與網際網路其他:電腦 · 1 decade ago

關於flash actionscript載入變數的問題

不知道actionscript載入變數時有沒有辦法載入陣列的變數形式

我利用 a[1]=0&a[2]=3&a[3]=7

這樣的方式試了好像不行

覺得載入變數似乎不是很好用

有其他可以取代的方式嗎?

Update:

謝謝英明神舞的回答

但是我做的怎麼會取不出 陣列個別的值

我的例子是這樣

data.txt上面存

array_x=[1,1,2,4]

第一影格

var array_x:Array=new Array();

stop();

在一個按鈕上的指令

on(release){

gotoAndPlay(5);

}

Update 2:

第5影格

LV = new LoadVars();

LV.load("data.txt");

stop();

在一個按鈕上面指令

on (release) {

if (LV.loaded == true) {

nextFrame();

}

}

***************

第六影格

array_x=LV.array_x;

trace(array_x[0])

stop();

在輸出視窗會出現undefined

若第六影格

trace(LV.array_x[0])也是相同情況

並沒有像你所說的能取出值

但是若是trace(LV.array_x)則能出現整個陣列

1 Answer

Rating
  • 1 decade ago
    Favorite Answer

    那直接取用陣列不就好了

    變數名=值

    一定是一對一的配對而已

    2008-05-07 10:31:58 補充:

    陣列也有一個名字

    arrayname=[value0,value1,value2.........]

    用arrayname[0],arrayname[1],arrayname[2]........

    就能拿到啦

    2008-05-09 02:47:25 補充:

    因為LV是一個物件

    而array_x變成它的屬性

    所以你要重新解析array_x成為真正的陣列

    把它映射到一個真正的陣列裡

    2008-05-09 16:30:07 補充:

    我有空細說了。首先,從外部文字檔進來的資料全部都會被當作字串形態。所以你在文字檔裡寫成陣列格式是沒有意義的,最好的辦法,就是只用一個變數名稱、一種分格符號。例如 dataarray=a|b|c|d|e|f|......,我習慣用反斜線那個鍵加shift的符號,-一條垂直線-因為它不是任何語言的運算元或保留字,沒有任何特殊功能,絕大多數文章裡也不會用到。 再來,在Flash裡面解析字串,用charAt,當遇到你自己設定的分隔符號時,就推入陣列。這樣就能解析出你要的陣列格式資料了, 如果想直接從外部檔案得到陣列格式的資料,那就要用XML才行。

Still have questions? Get your answers by asking now.