04. april 2002 - 10:20
Der er
17 kommentarer og 1 løsning
MC som bevæger sig med/mod musen
Hej. Det ser ud som et godt sted for flashfolk, det her"!"! Jeg prøver : Hvordan er et script som får MovieClipet til at bevæge sig modsat musen på den vandrette akse?? Det skal ikke bevæge sig op eller ned.. Kommer selvøfli måske an på hvor det skal være placrert, eller hva? gode og venligste hilsenr fra CONT_MANAGER:::
Annonceindlæg fra Salesforce
04. april 2002 - 10:24
#1
Min film er 750px bred og 390 px høj. Jeg glemte en vigrig detalje: Når man klikker så skal MovieClipet køre til musens placering!!! Jeg tror den er svær og der står 60 point til en svær men kan se nogen gir 200 point for lette spørghsmål??? jeg kender ikke systemet, så bare sig til..
04. april 2002 - 12:02
#2
Hvis du på dit mc sætter følgende: onClipEvent(enterFrame) { setProperty (this, _x, (750-(getProperty(_root._xmouse, _x))); } onClipEvent(mousedown) { setProperty(this, _x, _root._xmouse); } Mon ikke det skulle virke. I øvrigt synes jeg 60 point er rimeligt for dette spørgsmål. De der giver urimelige summer har misforstået det hele lidt. Håber du får dine ting til at virke.
04. april 2002 - 12:21
#3
jeg har måske en lidt mere fancy (og indviklet) metode: onClipEvent (load) { intMaxSpeed = 8; intSpeed = 0; intMovieWidth = 550; intBorderLeft = 25; intBorderRight = 25; } onClipEvent(mouseDown){ intTargetX = _root._xmouse; blnMouseDown = true; } onClipEvent (enterFrame) { if(!blnMouseDown){ _root._xmouse<_x ? intTargetX=intMovieWidth-intBorderRight : intTargetX=intBorderLeft; } intTargetX<=_x ? intSpeedInc=(-1) : intSpeedInc=1; intSpeed += intSpeedInc; intSpeed>intMaxSpeed ? intSpeed=intMaxSpeed : ""; intSpeed<(intMaxSpeed*-1) ? intSpeed=(intMaxSpeed*-1) : ""; intTargetX-_x<8 && intTarget-_x>(-8) ? intSpeed=0 : ""; //_x<=25&&_root._xmouse>_x ? intSpeed=0 : ""; //_x>=intMovieWidth-25&&_root._xmouse<_x ? intSpeed=0 : ""; _x += intSpeed; } der er stadig lige en lille bug jeg skal have fixet, men er det noget i den stil du er ude efter?
04. april 2002 - 12:42
#4
Denne her er bedre. Lav dit movieclip og copy/paste dette script ind på det: onClipEvent (load) { intMaxSpeed = 8; intSpeed = 0; intMovieWidth = 550; intBorderLeft = 25; intBorderRight = 25; } onClipEvent(mouseDown){ intTargetX = _root._xmouse; blnMouseDown = true; } onClipEvent (enterFrame) { if(!blnMouseDown){ _root._xmouse<_x ? intTargetX=intMovieWidth-intBorderRight : intTargetX=intBorderLeft; } intDistance = Math.max(intTargetX-_x,(intTargetX-_x)*-1); if (intDistance<8){ _x = intTargetX; intSpeed = 0; } else { intTargetX<=_x ? intSpeedInc=(-1) : intSpeedInc=1; intSpeed += intSpeedInc; intSpeed>intMaxSpeed ? intSpeed=intMaxSpeed : ""; intSpeed<(intMaxSpeed*-1) ? intSpeed=(intMaxSpeed*-1) : ""; } _x += intSpeed; test=intDistance; }
04. april 2002 - 16:11
#5
donslund og pixelpaw >> Det ser alt sammen meget kompliceret ud ;( Alt hvad han vil er jo at få MC'et til at flytte sig modsat musemarkøren på den vandrette akse (x)! cont_manager >> Jeg tror det kan gøres simplere Hvis du sætter følgende kode på dit MC, så skulle det vist virke: onClipEvent (enterFrame) { this._x = 375 - _root._xmouse; } Vh. Alexander
04. april 2002 - 16:13
#6
Hej pixelpaw, wowaa et fedt script! har du selv lavet det??? det er perfekt, men hvis det er okay har lige et par spørgmsål til rettelser:: (nu da jeg har set hvordan det virker) Sådan her bruger jeg det nu, hvilket betyder at det ikke kører væk fra musen og alt det, men kun kommer susende når jeg klikker! onClipEvent(load) { intMaxSpeed = 25; intSpeed = 0; intMovieWidth = 750; intBorderLeft = 0; intBorderRight = 0; } onClipEvent(mouseDown){ intTargetX = _root._xmouse; blnMouseDown = true; } onClipEvent(enterFrame) { /*if(!blnMouseDown){ _root._xmouse<_x ? intTargetX=intMovieWidth-intBorderRight : intTargetX=intBorderLeft; }*/ intDistance = Math.max(intTargetX-_x,(intTargetX-_x)*-1); if (intDistance<25){ _x = intTargetX; intSpeed = 0; } else { intTargetX<=_x ? intSpeedInc=(-1) : intSpeedInc=1; intSpeed += intSpeedInc; intSpeed>intMaxSpeed ? intSpeed=intMaxSpeed : ""; intSpeed<(intMaxSpeed*-1) ? intSpeed=(intMaxSpeed*-1) : ""; } _x += intSpeed; test=intDistance; } 1.Hvordan ændrer jeg ovenstående script så at det ikke kommer susende til markøren når jeg trykker, men KUN når jeg "roller over"??? 2.Nu er det sådan at jeg meget gerne vil have at det er UDEN for stagen når det loader. Hvad er det der gør at det altid er på stage? Venlige og storartede takker fra CONT_MANAGER!!!
04. april 2002 - 16:14
#7
Alexander - det ser jo spændende ud. Prøver lige... *S*
04. april 2002 - 16:15
#8
Sorry koden skulle naturligvis se sådan her ud: onClipEvent (enterFrame) { this._x = 750 - _root._xmouse; } Vh. Alexander Ps. svaret her ligger urimeligt tæt op ad donslund's svar, så snyd ikke ham for sine point!
04. april 2002 - 16:16
#9
Alexander, brilliant set! Det virker... men jeg leger nu lige lidt videre med pixelpaws mastodont...
04. april 2002 - 16:17
#10
Alexander- du har dog ikke halvdelen af mit oprindelige spørgsmål med i din løsning! (kommentar nr.1) *S*
04. april 2002 - 16:18
#11
Smutter lige for en stund... zzzz
04. april 2002 - 16:26
#12
Beklager jeg fik ikke læst din kommentar ordenligt! Vh. Alexander
05. april 2002 - 04:04
#13
1) onClipEvent(load) { intMaxSpeed = 25; intSpeed = 0; intMovieWidth = 750; intBorderLeft = 0; intBorderRight = 0; } /*onClipEvent(mouseDown){ intTargetX = _root._xmouse; blnMouseDown = true; }*/ onClipEvent(enterFrame) { /*if(!blnMouseDown){ _root._xmouse<_x ? intTargetX=intMovieWidth-intBorderRight : intTargetX=intBorderLeft; }*/ intDistance = Math.max(intTargetX-_x,(intTargetX-_x)*-1); if (intDistance<25){ _x = intTargetX; intSpeed = 0; } else { intTargetX<=_x ? intSpeedInc=(-1) : intSpeedInc=1; intSpeed += intSpeedInc; intSpeed>intMaxSpeed ? intSpeed=intMaxSpeed : ""; intSpeed<(intMaxSpeed*-1) ? intSpeed=(intMaxSpeed*-1) : ""; } _x += intSpeed; test=intDistance; } på din knap laver du så dette: on(rollOver){ intTargetX = _root._xmouse; blnMouseDown = true; }
05. april 2002 - 04:06
#14
2) i onClivEvent(load) tilføjer du _x = -50; det burde virke. Jeg har ikke testet.
05. april 2002 - 10:28
#15
Du har forlængst scoret dine (mine) points men nu en lille finpudsnings-ting som jeg ikke kan finde ud af....jeg fatter jo ikek helt hvad dit script laver, men fred være med det...... Jeg har sat hastigheden på mc*et bevægelse op, men kan kun få den til at køre hurtigt mod højre???? Nu ser det sådan ud + rollover på knapper... :::: onClipEvent(load) { intMaxSpeed = 50; intSpeed = 10; intMovieWidth = 750; intBorderLeft = 0; intBorderRight = 0; _root.blnMouseDown = false; } onClipEvent(enterFrame) { if(!_root.blnMouseDown){ _root._xmouse<_x ? _root.intTargetX=intMovieWidth-intBorderRight : _root.intTargetX=intBorderLeft; } intDistance = Math.max(_root.intTargetX-_x,(_root.intTargetX-_x)*-1); if (intDistance<50){ _x = _root.intTargetX; intSpeed = 0; } else { _root.intTargetX<=_x ? intSpeedInc=(-1) : intSpeedInc=10; intSpeed += intSpeedInc; intSpeed>intMaxSpeed ? intSpeed=intMaxSpeed : ""; intSpeed<(intMaxSpeed*-1) ? intSpeed=(intMaxSpeed*-1) : ""; } _x += intSpeed; test=intDistance; }
05. april 2002 - 12:42
#16
I linien _root.intTargetX<=_x ? intSpeedInc=(-1) : intSpeedInc=10; har du ændret intSpeedInc=1 til intSpeedInc=10 "intSpeedInc" er en forkortelse af "intSpeedIncrease" Det er altså det hastigheden bliver forøget med. Men du har kun ændret det for den ene vej. intSpeedInc=(-1) fortæller forøgelsen den anden vej. Så hvis du vil ændre forøgelsen skal du ændre hele linien til _root.intTargetX<=_x ? intSpeedInc=(-10) : intSpeedInc=10;
05. april 2002 - 12:54
#17
_root.intTargetX<=_x ? intSpeedInc=(-1) : intSpeedInc=1; er faktisk det samme som if(_root.intTargetX<=_x) { intSpeedInc=(-1); } else { intSpeedInc=1; }
05. april 2002 - 12:59
#18
Takker ærbødigt for din hjælp! Håber jeg kan hjælpe dig en dag.
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.