0

したがって、現在、ユーザーが望むものに応じて 1 ~ 9 個の AS3 変数を保存できます。それらはテキスト文字列として XML ファイルに保存されますが、ユーザーが再度保存すると、古い xml 情報がファイルに残り、新しい情報が追加されます。ただし、新しい設定が保存される前に、新しい情報で古い情報を上書きするか、xml ファイル内の情報をクリア/削除する機能を設定する必要があります。

これが私の現在の保存機能です:

var soundVAR;
var conditionVAR;
var soundtoXML:XML; 
var conditiontoXML:XML; 
var test = 1;
var playingCounter = 0;
var xml:XML = <saved>
        </saved>;


//1.Button event listener
btn_Save.addEventListener(MouseEvent.CLICK, saveXML);
//2.The saveurl function which opens a URL.
function saveXML(event:MouseEvent):void {


var conditionsArray = new Array(play1Condition, play2Condition, play3Condition, play4Condition, play5Condition, play6Condition, play7Condition, play8Condition, play9Condition)

for (var i=0; i < conditionsArray.length; i++){
trace(conditionsArray[i])
if(conditionsArray[i] == true)
{
    soundVAR = soundsName[i];
    conditionVAR = conditionsArray[i];


    playingCounter++;    
} else {

    trace('no sounds are playing');
}

while (xml.item.length() < playingCounter ){
    var soundString:String =  '<sound>' + soundVAR + '</sound>';
    var conditionString:String = '<condition>' + conditionVAR + '</condition>';
    soundtoXML = new XML(soundString);
    conditiontoXML = new XML(conditionString);

    var item:XML = <item />
    item.@id = xml.item.length().toString();
    xml.appendChild(item);

    var sound:XML = xml.item[xml.item.length() - 1];
    var condition:XML = xml.item[xml.item.length() - 1];
    sound.appendChild(soundtoXML);
    condition.appendChild(conditiontoXML);
}
}
writeXML();
trace(xml);
}

function writeXML(){

var savedSounds:SharedObject = SharedObject.getLocal( 'savedSounds');
savedSounds.data.soundsxml = xml; // your variables
savedSounds.flush(); // stores data into disk


}

ありがとうございます。

4

1 に答える 1

0

簡単な答え:ループxml.item.setChildern('');の前に呼び出したい。whileより長い答え: while ループの最後の 4 行がわかりません。それらを書いた意図を説明できますか?

あなたのコードを正しく理解していれば、while ループは次のようになります。

var i:int = xml.item.length();
while (i < playingCounter)
{
    xml.* += <item id={ i }>
          <sound>{ soundVAR }</sound>
      <condition>{ conditionVAR }</condition>
    </item>;
    i++;
}
于 2012-06-02T13:17:16.777 に答える