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 fra Infor
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.