Avatar billede kcdk Juniormester
03. november 2002 - 18:14 Der er 11 kommentarer og
1 løsning

At få en genstand til at bevæge sig med random

Jeg er ret ny i Flash og serdeles ny i Actionscript.

Hvordan får jeg en figur til at bevæge sig x antal enheder på x aksen og stoppe når den rør ved en anden figur.
Avatar billede mat Nybegynder
03. november 2002 - 18:31 #1
smid det her på movieclippet der skal bevæge sig:

onClipEvent (load) {
    xspeed = 5;
}
onClipEvent (enterFrame) {
    this._x += xspeed;
    if (this.hitTest(_root.box))
    xspeed = 0;
}


...så skal du bare huske at give objektet det rammer instancenavnet "box"
Avatar billede kcdk Juniormester
03. november 2002 - 18:35 #2
Tak for det, men den kommer med nogle fejl.

Symbol=1, Layer=Layer 1, Frame=1: Line 1: Clip events are permitted only for movie clip instances
    onClipEvent (load) {

Symbol=1, Layer=Layer 1, Frame=1: Line 4: Clip events are permitted only for movie clip instances
    onClipEvent (enterFrame) {
Avatar billede mat Nybegynder
03. november 2002 - 18:36 #3
actions skal ligge på instancet af movieclippet, ikke i en frame
Avatar billede kcdk Juniormester
03. november 2002 - 18:40 #4
Hvis jeg dobbeltklikker på moviesymbolet, så siger den der ikke kan tilknyttet actionscript. SÅ nu ligger den i moviesymbolet egen frame.

Undskyld hvis det lyder lidt dumt
Avatar billede kcdk Juniormester
03. november 2002 - 18:41 #5
Okay jeg fandt ud af det, men den stopper ikke ved "box"
Avatar billede kcdk Juniormester
03. november 2002 - 18:43 #6
Men hvad hvis det nu er den math.random funktion som skal bestemme hvor meget den skal bevæge sig?
Avatar billede mat Nybegynder
03. november 2002 - 18:44 #7
"box" skal osse være et movieclip, og du skal skrive "box" i propertiespanelet der hvor der står instance
Avatar billede mat Nybegynder
03. november 2002 - 18:45 #8
f.eks:

onClipEvent (load) {
    xspeed = random(5)+1;
}
onClipEvent (enterFrame) {
    this._x += xspeed;
    if (this.hitTest(_root.box))
    xspeed = 0;
}
Avatar billede kcdk Juniormester
03. november 2002 - 18:48 #9
Så fik du point´. Men det jeg tænkte på var at den ikke skulel køre hele vejen igennem med den randomværdi den havde fået, men skifte hele tiden.
Avatar billede mat Nybegynder
03. november 2002 - 18:50 #10
...men det ser da ret spøjst ud?

onClipEvent (load) {
    d = 1;
}
onClipEvent (enterFrame) {
    if (d) {
    xspeed = random(5)+1;
    this._x += xspeed;
    }
    if (this.hitTest(_root.box)) {
    xspeed = 0;
    d = 0;
    }
}
Avatar billede kcdk Juniormester
03. november 2002 - 18:52 #11
Hi hi. Det er fordi at det skal være ligesom et hestevæddeløb :-)
Avatar billede mat Nybegynder
03. november 2002 - 18:52 #12
nåeh :)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester