03. januar 2004 - 22:55
Der er
12 kommentarer og 1 løsning
Problem ved konvertering til AS 2.0
Hej Jeg har denne kode, som virker fint i Flash Player 5: onClipEvent (enterFrame) { var t, t2, t3, tx, ty, i, adder, previousName, currentName; if (_parent._parent._visible == 1) { for (o=1; o<_parent.numberOfItems; o++) { previousName = "branchItem"+o; currentName = "branchItem"+(o+1); if (_parent[previousName].numOfOpenItems>0) { speed = 2; calcpos(speed); } else { speed = 3; calcpos(speed); } } if (_parent._parent.numOfOpenItems<2) { adder = 0; } else { adder = (((_root.draggin.toc_mc[_parent.rootName].yspacing*_parent._parent.numOfOpenItems)-_parent.lineV._height)-_root.draggin.toc_mc[_parent.rootName].yspacing)/speed; } _parent.lineV._height = 0; } } onClipEvent (load) { if (_parent._name == "mainBranch0") { _parent.pStatus = 2; _parent._x = _root.draggin.toc_mc[_parent.rootName].xstart; } function calcpos(speed) { trace(previousMC[previousName]._y); myY = _root.draggin.toc_mc[_parent.rootName].yspacing+_parent[previousName]._y+(_root.draggin.toc_mc[_parent.rootName].yspacing*_parent[previousName].numOfOpenItems); yadder = (myY-_parent[currentName]._y)/speed; _parent[currentName]._y = _parent[currentName]._y+yadder; } } Men når jeg konverterer den til AS 2.0 godkender den ikke _parent[previousName] som værende et MC. Jeg håber at nogen kan hjælpe. VH Anders Thingholm
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
03. januar 2004 - 23:29
#1
var some_mc:MovieClip = MovieClip(_parent[prevoisName]);
03. januar 2004 - 23:30
#2
Du har blandet as1 og 2 sammen - du skal type alle variabler i as2 - ellers er det noget rod!
04. januar 2004 - 00:13
#3
Hej igen, denne kode virker tilsyneladende ikke: onClipEvent (enterFrame) { var t, t2, t3, tx, ty, i, adder; if (_parent._parent._visible == 1) { for (o=1; o<_parent.numberOfItems; o++) { var previousMC:MovieClip = MovieClip(_parent["branchItem"+o]); var currentMC:MovieClip = MovieClip(_parent["branchItem"+(o+1)]); if (previousMC.numOfOpenItems>0) { speed = 2; calcpos(speed); } else { speed = 3; calcpos(speed); } } } } onClipEvent (load) { if (_parent._name == "mainBranch0") { _parent.pStatus = 2; _parent._x = _root.draggin.toc_mc[_parent.rootName].xstart; } function calcpos(speed) { trace(previousMC._name); myY = _root.draggin.toc_mc[_parent.rootName].yspacing+_parent[previousName]._y+(_root.draggin.toc_mc[_parent.rootName].yspacing*_parent[previousName].numOfOpenItems); yadder = (myY-_parent[currentName]._y)/speed; _parent[currentName]._y = _parent[currentName]._y+yadder; } }
04. januar 2004 - 01:13
#4
Måske kan man ikke "caste" til movieclip - prøv uden den og bare: var previousMC:MovieClip = parent["branchItem"+o];
04. januar 2004 - 01:13
#5
Men hvorfor skulle den sige, at det ikke er movieclip - er det kun på movieclips, der er "numOfOpenItems" eller?
04. januar 2004 - 01:14
#6
Findes den på movieclip klassen?
04. januar 2004 - 01:14
#7
Hvad er den præcise fejl, spørger jeg nok egentlig om ;)
04. januar 2004 - 04:54
#8
04. januar 2004 - 11:58
#9
Hej igen, nu prøver jeg med denne kode: onClipEvent (enterFrame) { if (_parent._parent._visible == 1) { for (o=1; o<_parent.numberOfItems; o++) { var previousMC:MovieClip = _parent["branchItem"+o]; //var previousMC:MovieClip = MovieClip(_parent["branchItem"+o]); var currentMC:MovieClip = MovieClip(_parent["branchItem"+(o+1)]); if (previousMC.numOfOpenItems>0) { speed = 2; calcpos(speed); } else { speed = 3; calcpos(speed); } } } } onClipEvent (load) { if (_parent._name == "mainBranch0") { _parent.pStatus = 2; _parent._x = _root.draggin.toc_mc[_parent.rootName].xstart; } function calcpos(speed) { trace(previousMC._name); myY = _root.draggin.toc_mc[_parent.rootName].yspacing+_parent[previousName]._y+(_root.draggin.toc_mc[_parent.rootName].yspacing*_parent[previousName].numOfOpenItems); yadder = (myY-_parent[currentName]._y)/speed; _parent[currentName]._y = _parent[currentName]._y+yadder; } } Men når jeg kører trace(previousMC._name); spytter den bare undefined ud. I den "gamle" kode spytter den BranchItem1 og BranchItem2 ud. Bemærk at jeg har tilføjet et "_" før din parent.
04. januar 2004 - 14:06
#10
Hej igen, Jeg løste den med denne: var previousMC:MovieClip = MovieClip(_parent["BranchItem"+o]); var currentMC:MovieClip = MovieClip(_parent["BranchItem"+(o+1)]); Det skyldtes "BranchItem" var stavet "branchItem". Smider du et svar?
04. januar 2004 - 14:14
#11
Ja, flash 7 playeren er case sensitiv med sine variabler - det er også noget helt nyt!
04. januar 2004 - 14:16
#12
Ja, men det er super cool - problemet kommer bare når man skal rydde op i andres kode ;-) Tak for hjælpen.
04. januar 2004 - 14:22
#13
Sandsynligvis - on clip events på denne måde er heller ikke særlig praktiske i længden... Slet ikke når de kan scriptes i stedet...
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.