0

私は、共有オブジェクトがどのように動作するかを理解しようとして、いじくり回してきました。この基本的な実際の例では、Flash Media Server を使用しているため、getLocal を使用する代わりに sharedObject.getRemote を選択しています。setProperty method() でいくつかのデータの値を更新しました。そのデータが存在する場合は、データ プロパティから取得しようとします。アプリケーションを実行すると、出力パネルに次のように表示されます。

paris
250
true

ただし、未定義のプロパティへのアクセスが記載されています。コードを見て、私が間違っていることを教えてください。

import flash.net.NetConnection;
import flash.events.NetStatusEvent;
import flash.net.SharedObject;
import flash.events.SyncEvent;

var nc:NetConnection = new NetConnection();

nc.connect("rtmfp://localhost/sobjExample");

nc.addEventListener(NetStatusEvent.NET_STATUS, netHandler);

function netHandler(event:NetStatusEvent):void{
    switch(event.info.code){
    case "NetConnection.Connect.Success":
    trace("Connected Up");
    break;

    case "NetConnection.Connect.Close":
    trace("Closing time");
    break;

    case "NetConnection.Connect.Failed":
    trace("Whoops");
    break;

    case "NetConnection.Connect.Rejected":
    trace("Ouch!!!!!");
    break;
        }
}

var so:SharedObject = SharedObject.getRemote("city", nc.uri, true);

so.connect(nc);

so.addEventListener(SyncEvent.SYNC, seeSo);

 function seeSo(event:SyncEvent):void{
    trace(so.changeList[0].code);
    switch(so.changeList[0].code){
        case "clear":
        loadSo();
        break;

        case "Success":
        showSo();
        break;
    }


}

function loadSo():void{
    so.setProperty("city", "Paris");
    so.setProperty("bunch", "250");
}       so.setProperty("verity", "true");

function showSo():void{
    trace(so.data.city);
    trace(so.data.bunch);
}       trace(so.data.verity); 
4

0 に答える 0