08. december 2001 - 01:30Der er
15 kommentarer og 1 løsning
_droptarget
hei .. jeg har 4 ikoner(MC) der kan trækkes rundt ... men så vil jeg gerne at når jeg slipper ikonet(MC) på et bestemt andet movieclip(_droptarget) skal jeg kunne styre et tredie movieclip.... Jeg har skrevet følgende men det virker ikke ......
HJÆÆÆLP
------ on (press) { startDrag (this, true); } on (release) { stopDrag (); if (this._droptarget == \"_root.portfolio.dropper\") { _root.kontakt.gotoAndPlay(5); } }
Der er rent faktisk ikke noget galt med dit script unlike... prøv først at tjekke dine instance navne, derefter om der ligger et element imellem dit draggede og _root.portfolio.dropper - Hvis der gør det bliver dit droptarget et andet.
Dit droptarget er altid det element det er umiddelbart under dit draggede, hvis du har et andet \'i vejen\' går det ikke.
Indsæt evt. dette trace(\"dette er mit draggede objekts droptarget = \"+ this._droptarget);
i din (release) action, altså således:
on (release) { stopDrag (); if (this._droptarget == \"_root.portfolio.dropper\") { trace(\"dette er mit draggede objekts droptarget = \"+ this._droptarget);
_root.kontakt.gotoAndPlay(5); } }
Det vil bevirke at du i dit output window får denne besked - dette er mit draggede objekts droptarget = navnetPåDetInstanceDerErDroptarget -
Hvis dette ikke giver dropper som navnetPåDetInstanceDerErDroptarget men noget andet er det evt. fordi den er gal med dine layers. øverst din dragger og lige derunder din dropTarget, altså _root.portfolio.dropper. Så burde det virke :0)
Jeg forstår nu godt i er forvirret. Jeg har faktisk aldrig tænkt over det, men _droptarget bruger ikke punkt notation som alt andet i Flash.
Begge nedenstående virker, men er der nogen der kan komme med enlogisk forklaring på hvorfor???
/ er i Flash 5 afløst af . men _droptarget er Flash 5 only, så hvorfor forstår den kun . hvis man evaluerer og ikke på selve target, men på det der dropper - Her virker . jo normalt fint??
Jeg er også forvirret.
Brug den her:
if (this._droptarget == \"/portfolio/dropper\") { _root.kontakt.gotoAndPlay(5); }
eller:
if (eval(this._droptarget) == _root.portfolio.dropper) { _root.kontakt.gotoAndPlay(5); }
Unlike, når det kommer til point så er 200 alt for meget. Hold dig til 15,30,60 og fordel evt til flere venlige brugere. Det betyder at du skal lave et svar selv og klikke på \"avanceret\" (først når du har svaret) - Her fordeler du så de point der skal gives ud og tager resten selv.
Men det værste må godt nok være at ligegyldigt hvor man kigger hen, så lever alle folk med det her og prøver ikke en gang at forklare hvorfor det er sådan.
Jeg er næsten gået helt væk fra _droptarget og bruger istedet hitTest. Efter jeg fandt ud af at bruge hitTest på objektet frem for bounding box synes jeg det er genialt! I dette tilfælde er _droptarget fint nok, men mange steder kan man nemt påvirke ens movie uden brugeren ved det.
Oh well, har besluttet mig for helt at droppe at sove, kan alligevel ikke. Tror jeg sætter kaffe over i stedet ;0)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.