2012-11-18 43 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解析步骤)。

相关问题