16. april 2002 - 06:43Der er
23 kommentarer og 1 løsning
Random position på Y aksen
Dav :) Jeg sidder for sjov skyld og øver mig lidt i actionscript, men da det ikke er det jeg er bedst til, må jeg lige have lidt hjælp :)
Jeg har et billede/knap (what ever :) som bevæger sig fra et sted til et andet, på nuværende tidspunkt er det helt fastlagt hvorfra og hvortil... Jeg vil så gerne vide hvordan jeg kan gøre det tilfældigt hvor den flytter sig fra og til, men samtidigt skal det være i en lige linie, så start positionen og slutpositionen er ens på Y aksen... Altså den bevæger sig fra den ene side af skærmen til den anden side, men det er så forskelligt hvor langt oppe/nede på skærmen den starter/slutter...
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.
Den skal bevæge sig "langsomt" fra den ene side til den anden side, det har jeg lige nu gjort ved at lave en motion tween, man skal jo trods alt kunne nå at trykke på den :)
Det får den til at flytte sig et punkt ad gangen. Hvis din film så har 12 fps, så er det 12 punkter i sekundet. Hastigheden kan øges ved at skrive et andet tal i stedet for 1.
Hmm, det giver bare det lille problem, at jeg ikke kan trykke på den, hvilket er meningen, og den laver heller ikke positionen random?!? eller har jeg bare overset noget :)
Det virker ikke helt efter hensigten, får denne fejl
Clip events are permitted only for movie clip instances
Og ser også lige at du skrev jeg skulle sætte det på mit mc, men det blot et almindeligt symbol (button), kan ikke huske hvordan det er jeg laver det om til et mc :( Er ret nybegynder i flash :)
Hvis det er en knap, så når du har det på din scene, markerer du det og trykker på f8 og vælger movieclip. Derved kommer din knap ind i Movieclippet at ligge. Derefter fører du koden ind på dit movieclip.
OK, nu kommer der da ingen fejl :) Men jeg tror jeg bør prøve at omformulere det lidt...
Den skal bevæge sig fra venstre mod højre, når den når den højre side af scenen skal den springe tilbage til første frame (Altså starte forfra), med din kode springer den bare rundt mellem forskellige steder på skærmen :(
onClipEvent(enterframe) { // Får den til at flytte sig mod højre setProperty(this, _x, (getProperty(this, _x)+1)); // vælger en tilfældig y-værdi ny_y = random(360)+20; if (ny_y <= getProperty(this, _y)) { // sætter ny y setProperty(this, _y, (getProperty(this, _y)-1)); } else { setProperty(this, _y, (getProperty(this, _y)+1)); } // hvis x bliver for stor sættes den til at starte forfra. if (this._x >= 500) { this._x = -20; }
Med hittest behøver du ikke at lave en knap, men kan teste direkte på et movieclip. Det ovenover virker blot ved at musen røre mc'et. Skal man bruge følgende og sætte det udenfor onClipEvent-koden.
onClipEvent(mousedown) { f (this.hittest(_root._xmouse, _root._ymouse) { _root.gotoAndPlay(2); // går til næste frame } }
onClipEvent (enterFrame) { // Får den til at flytte sig mod højre setProperty (this, _x, (getProperty(this, _x)+1)); // vælger en tilfældig y-værdi ny_y = random(360)+20; if (ny_y<=getProperty(this, _y)) { // sætter ny y setProperty (this, _y, (getProperty(this, _y)-1)); } else { setProperty (this, _y, (getProperty(this, _y)+1)); } // hvis x bliver for stor sættes den til at starte forfra. if (this._x>=550) { gotoandplay(1); } }
Går ud fra, at du ikke ønsker points, siden du ikke har svaret :) Hvis jeg tager fejl er du meget velkommen til at brokke dig højlydt :)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.