2012-11-18 84 views
0

我正在努力讓sharedobjects保存進度thingie,我想出了這些工作是如何的,但現在我應該試着弄清楚如何讓我的「保存進度」按鈕不只記得「this.currentFrame」,而且如果這是在主時間軸上,或者如果它不在,那麼這是哪個動畫片段,以便當我上傳共享對象時,它會到主時間軸或動畫片段中的正確位置。Actionscript 3 - 如何將當前影片剪輯/根位置包含到this.currentFrame?

謝謝!

回答

1

我有一種感覺SharedObjects可能無法保存實際的影片剪輯引用,並能夠可靠地恢復它們(糾正我,如果我錯了這一點),但你可以只存儲對象的關鍵數據對在SharedObject,而不僅僅是幀號。或者,如果您需要記憶未知數量的幀數(和影片剪輯),請在加載時存儲一組鍵值數據對象並在其中進行循環。的一種方式來存儲數據爲每個剪輯

實施例:

var someClip:Object = new Object(); 

// some id that refers to the clip (maybe an array/dictionary index) 
// (or try replacing with the actual reference to the movie clip to see if it works) 
someClip.id ="clipName"; 
someClip.frameNumber = 1; // the frame number of the clip to remember 

然後,只需將「someClip」對象存儲到在共享對象數據的數組。

也許更緊湊的方式是取消臨時對象並將鍵數據對存儲爲帶分隔符的字符串。例如,您可以只存儲字符串「clipName,1」,然後當它加載時,沿着逗號分割以獲取剪輯ID並將幀編號解析回int。

或者我猜你還可以將幀號存儲在一個剪輯id index'ed字典中並將其存儲在SharedObject數據中(因爲它可以在加載時保存int解析步驟)。

相關問題