0

共有オブジェクトを使用して進行状況を保存しようとしています。これらがどのように機能するかを理解しましたが、「this.currentFrame」だけでなく、「進行状況を保存」ボタンを作成する方法も理解する必要があります。これがメインタイムライン上にある場合、またはそうでない場合は、これがどのムービークリップに含まれているので、sharedObjectをアップロードすると、メインタイムラインまたはムービークリップの正しい場所に移動します。

ありがとう!

4

1 に答える 1

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」オブジェクトをSharedObjectデータの配列に格納します。

おそらく、より「コンパクトな方法」は、一時オブジェクトを廃止し、キーとデータのペアを区切り文字付きの文字列として格納することです。たとえば、文字列「clipName、1」を保存し、ロードするときにコンマに沿って分割してクリップIDを取得し、フレーム番号を解析してintに戻すことができます。

または、フレーム番号をクリップIDインデックス付きディクショナリに保存し、それをSharedObjectデータに保存することもできると思います(ロード時のint解析手順を節約できる可能性があるため)。

于 2012-11-18T23:45:55.933 に答える