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.
Annonceindlæg fra Computerworld
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"
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) {
03. november 2002 - 18:36
#3
actions skal ligge på instancet af movieclippet, ikke i en frame
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
03. november 2002 - 18:41
#5
Okay jeg fandt ud af det, men den stopper ikke ved "box"
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?
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
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; }
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.
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; } }
03. november 2002 - 18:52
#11
Hi hi. Det er fordi at det skal være ligesom et hestevæddeløb :-)
03. november 2002 - 18:52
#12
nåeh :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.