2012-04-09 4 views
0

Ich bin neu zu ziemlich neu zu AS3, und ich habe gefunden, dass ich eine Fla erweitern muss. das wurde von einer dritten Partei geschrieben. Das Ziel ist Flashvars zugreifen, aber für das Leben von mir kann es nicht zur Arbeit ... seit Tagen lernen ..Flash CS5 AS3 kann Flashvars nicht

die Fla, mit denen ich arbeite, ist Code auf der Timeline mit 2 Frames. Der Movieclip läuft bis Frame 2 und stoppt.

Auf Frame 2 ist, wo ich die Verwendung der Flashvar benötigen.

Ich habe ein einfaches Beispiel erstellt, das eine Textbox auf Frame zwei füllt, die gut funktioniert. 1

Rahmen

var my_var:String = new String(); 
my_var = root.loaderInfo.parameters.uploadId; 

Rahmen 2

Jedoch, wenn ich den gleichen Ansatz auf meinem 3rd-Party-fla verwenden bekomme ich NULL ausgegeben. Ich benutze auch keinen TLF-Text (denke ich).

Ich verstehe nicht, warum es in einem Fall funktioniert, aber nicht in dem anderen Fall. Ich denke, es könnte mit Konflikten mit dem umgebenden Code zu tun haben, aber ich weiß nicht genug über AS, um es aufzuspüren. Jede Hilfe dazu wäre sehr willkommen.

Rahmen 1

import net.bizmodules.uvg.loading; 

stop(); 

stage.scaleMode = StageScaleMode.NO_SCALE; 
stage.align = StageAlign.TOP_LEFT; 
stage.showDefaultContextMenu = false; 
stage.quality = StageQuality.BEST; 

function RandomValue() 
{ 
    var d = new Date(); 
    return String(d.getDate()) + String(d.getHours()) + String(d.getMinutes()) + String(d.getSeconds()); 
} 
var my_var:String; 
my_var = root.loaderInfo.parameters.uploadId; 
var userId; 
var albums:Object; 
var resource:Object; 
var strUploadPage:String; 
if (root.loaderInfo.parameters.uploadPage != undefined) 
    strUploadPage = root.loaderInfo.parameters.uploadPage; 
else 
    strUploadPage = "http://localhost/dnn450/desktopmodules/ultramediagallery/flashuploadpage.aspx?PortalId=0&ModuleId=455"; 

if (strUploadPage.indexOf("?") > 0) 
    strUploadPage += "&"; 
else 
    strUploadPage += "?"; 

strUploadPage += "action=loadAlbums&seed=" + RandomValue(); 
trace(strUploadPage); 

var myLoading:MovieClip = new loading(); 
myLoading.x = (stage.stageWidth - myLoading.width)/2; 
myLoading.y = (stage.stageHeight - myLoading.height)/2; 
addChild(myLoading); 

var myRequest:URLRequest = new URLRequest(strUploadPage); 
var myLoader:URLLoader = new URLLoader(myRequest); 
myLoader.addEventListener(Event.COMPLETE, xmlLoaded); 

function xmlLoaded(evtObj:Event) 
{ 
    myLoader.removeEventListener(Event.COMPLETE, xmlLoaded); 
    try 
    { 

     var xDoc:XMLDocument = new XMLDocument(); 
     xDoc.ignoreWhite = true; 
     var xml:XML = XML(myLoader.data); 
     xDoc.parseXML(xml.toXMLString()); 
     userId=xDoc.firstChild.attributes.userId; 

     if (userId < 0) 
     { 
      removeChild(myLoading); 
      txtError.text = "Please ensure you are logged in"; 
      return; 
     } 

     if(xDoc.firstChild.childNodes.length > 0) 
     { 
      albums = xDoc.firstChild.childNodes[0].childNodes; 
      resource = xDoc.firstChild.childNodes[1].attributes; 
     } 
     else 
     { 
      removeChild(myLoading); 
      txtError.text = xDoc.firstChild.attributes.error; 
      return; 
     } 
     play(); 
    } 
    catch(e:Error) 
    { 
     removeChild(myLoading); 
     txtError.text = e + "\n\nPlease check your Event Viewer to find out detailed error message and contact [email protected]"; 
    } 
} 

Rahmen 2

import net.bizmodules.upg.Alert; 

stop(); 
removeChild(myLoading); 

initialize(); 

function initialize() 
{ 
    Alert.init(stage); 

    upload.addVar("userId",userId); 


    lstAlbums.dropdown.rowHeight = 24; 

    loadAlbums(0, albums); 

    var my_so:SharedObject = SharedObject.getLocal("UPGUpload"); 
    var lastAlbum = my_so.data.lastAlbum * 1; 
    var foundLastAlbum = false; 
    if (lastAlbum > 0) 
    { 
     for (var i:int = 0; i< lstAlbums.length; i++) 
     { 
      if (lstAlbums.getItemAt(i).data == lastAlbum) 
      { 
       trace("find previous album"); 
       foundLastAlbum = true; 
       lstAlbums.selectedIndex = i; 
       break; 
      } 
     } 
    } 

    if (!foundLastAlbum) 
    { 
     lstAlbums.selectedIndex = lstAlbums.length - 1; 
    } 
    albums_change(null); 

    lstAlbums.addEventListener("change", albums_change); 

    lstAlbums.setStyle("backgroundColor", 0x504C4B); 
    lstAlbums.dropdown.setStyle("backgroundColor", 0x504C4B); 
    lstAlbums.setStyle("themeColor", 0x1F90AE); 
    lstAlbums.setStyle("color", 0xC4C0BF); 
    lstAlbums.setStyle("textSelectedColor", 0xC4C0BF); 
    lstAlbums.setStyle("textRollOverColor", 0xC4C0BF); 
    lstAlbums.setStyle("alternatingRowColors", [0x504C4B, 0x504C4B]); 
    lstAlbums.setStyle("borderStyle", 'none'); 

} 

my_txt.text = "hello" + " " + my_var; 


function loadAlbums(level:int, xml:Object) 
{ 

    var prefix = "              ".substring(0, level * 4);; 

    for (var i:int = 0;i<xml.length;i++) 
    { 
     var itemValue = xml[i].attributes.itemid; 
     if (xml[i].childNodes.length > 0) 
      itemValue *= -1; 

     lstAlbums.addItem({data: itemValue, label: prefix + xml[i].attributes.name}); 
     if (xml[i].childNodes.length > 0) 
     { 
      loadAlbums(level + 1, xml[i].childNodes); 
     } 
    } 
} 

function albums_change(e) 
{ 
    var albumId = lstAlbums.getItemAt(lstAlbums.selectedIndex).data; 
    upload.set_albumId(albumId); 
    if (albumId > 0) 
    { 
     var my_so:SharedObject = SharedObject.getLocal("UPGUpload"); 
     my_so.data.lastAlbum = albumId; 
    } 
    else 
    {  
     Alert.show("The album you choosed is invalid", null, 0xEAEAEA, 0x000000); 
    } 
} 

Antwort

0
private var flashVarObj:Object = new Object; 
flashVarObj=LoaderInfo(this.loaderInfo).parameters; 
var my_var:String = new String(); 
my_var = flashVarObj.uploadIdd;