08. februar 2003 - 14:53
Der er
7 kommentarer og 1 løsning
Local Shared Object & for-løkke
Hej Jeg har et problem med denne kode: for (i=1; i<itemCount; i++) { _root["myLSO.data.objectId"+i] = i; _root["myLSO.data.objectType"+i] = _root.plan_mc["element"+i].type; _root["myLSO.data.objectX"+i] = _root.plan_mc["element"+i]._x; _root["myLSO.data.objectY"+i] = _root.plan_mc["element"+i]._y; _root["myLSO.data.objectRotation"+i] = _root.plan_mc["element"+i].rotation; _root["myLSO.data.objectWidth"+i] = _root.plan_mc["element"+i]._width; _root["myLSO.data.objectHeight"+i] = _root.plan_mc["element"+i]._height; _root["myLSO.data.objectDepth"+i] = _root.plan_mc["element"+i].getDepth(); } myLSO.data.numberOfObjects = itemCount-1; myLSO.data.flush(); trace("number: "+myLSO.data.numberOfObjects); trace(myLSO.data.objectId1); trace(myLSO.data.objectDepth1); Som i kan se vil jeg gerne gemme en række properties for nogle objekter, men den gemmer dem ikke. Dem gemmer dem derimod hvis jeg skriver dem direkte, som her: myLSO.data.objectId1 = i; myLSO.data.objectType1 = _root.plan_mc["element"+i].type; myLSO.data.objectX1 = _root.plan_mc["element"+i]._x; myLSO.data.objectY1 = _root.plan_mc["element"+i]._y; myLSO.data.objectRotation1 = _root.plan_mc["element"+i].rotation; myLSO.data.objectWidth1 = _root.plan_mc["element"+i]._width; myLSO.data.objectHeight1 = _root.plan_mc["element"+i]._height; myLSO.data.objectDepth1 = _root.plan_mc["element"+i].getDepth(); myLSO.data.numberOfObjects = itemCount-1; myLSO.data.flush(); trace("number: "+myLSO.data.numberOfObjects); trace(myLSO.data.objectId1); trace(myLSO.data.objectDepth1); Jeg håber at nogen kan hjælpe mig med dette problem... VH Anders
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
08. februar 2003 - 14:56
#1
I sidste kode-eksempel skal der selvfølgelig stå i=1 ovenover dette: myLSO.data.objectId1 = i;
08. februar 2003 - 15:55
#2
Prøv med myLSO.data["objectId"+i] i stedet for _root["myLSO.data.objectId"+i] Jeg tænker det måske er din _root-reference den er gal med eller ...
08. februar 2003 - 23:33
#3
Tak - det løste problemet, men hvorfor?
09. februar 2003 - 11:14
#4
Tjae det er jo ikke nemt at sige - for jeg ved det faktsik ikke (det er nu vi skal råbe 'BARKLUND' i kor, så kan det være han kommer og forklare)! Jeg har bare oplevet at sharedObject vil have den grundlæggende sti 'myLSO.data.' skrevet korrekt. I det hele taget er sharedObject lidt sart, jeg har fx forsøgt mig med under-henvisning(under-objecter) uden held fx: myLSO.data.object.underobject /Alexander
14. februar 2003 - 14:02
#5
Alexander, har du så husket at definere "underobject" som et objekt først (underobject = {})? Ang. det andet problem, så er det fordi, at du jo ønsker at gemme data under objektet "data", og derfor skal der evalueres med hensyn til det og ikke _root. Mvh Morten
16. februar 2003 - 12:51
#6
man kunne: eval("mc1.mc2") men har aldrig kunnet: this["mc1.mc2"]; Bruger du array notation til objekter, så kan man ikke neste dem - selvfølgelig. Det hedder: this.mc1["mc2"]; Det er ligesom med arrays: t = [[4]]; trace(t[0][0]); Det kan man godt, og bruger man "" rundt om virker det også, men sidste linie herunder virker selvfølgelig ikke: trace(t["0"]["0"]); trace(t["0.0"]); Anvendt på dit eksempel bliver det til: for (i=1; i<itemCount; i++) { _root.myLSO.data["objectId"+i] = i; _root.myLSO.data["objectType"+i] = _root.plan_mc["element"+i].type; _root.myLSO.data["objectX"+i] = _root.plan_mc["element"+i]._x; _root.myLSO.data["objectY"+i] = _root.plan_mc["element"+i]._y; _root.myLSO.data["objectRotation"+i] = _root.plan_mc["element"+i].rotation; _root.myLSO.data["objectWidth"+i] = _root.plan_mc["element"+i]._width; _root.myLSO.data["objectHeight"+i] = _root.plan_mc["element"+i]._height; _root.myLSO.data["objectDepth"+i] = _root.plan_mc["element"+i].getDepth(); } myLSO.data.numberOfObjects = itemCount-1; myLSO.data.flush(); trace("number: "+myLSO.data.numberOfObjects); trace(myLSO.data.objectId1); trace(myLSO.data.objectDepth1);
16. februar 2003 - 12:52
#7
Det er altså ikke _root-referencen, der er gal, men din anvendelse af array notationen... :o)
25. marts 2003 - 12:16
#8
Lukke?
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.