Avatar billede pyroman Nybegynder
05. juni 2002 - 13:17 Der er 5 kommentarer og
1 løsning

stoppe bevægelse ved hitTest

Jeg har lavet et MC, packman, som følger en slags spor bestående af MC. Man styrer MC'et ved piletasterne. Når man er på et vandret spor kan man kun bevæge sig frem og tilbage, og ved lodret, op og ned. Når man trykker højre piletast aktiveres dette actionscript:

x = getProperty ("packman", _x)
setProperty ("packman", _x, x+5)

Ved et hjørne skal "packman" stoppe, indtil man trykker en piletast, men det gør "packman" ikke.
På hjørnet har jeg følgende actionscript:

onClipEvent (load) {
    if (this.hitTest(_root.packman.hitarea)) {
        setProperty (_root.packman, _x, 316);
        setProperty (_root.packman, _y, 280);
        _root.up = true;
        _root.down = false;
        _root.right = false;
        _root.left = true;
    }
}
Er der nogen der kan hjælpe?
/Filip
Avatar billede hoejrup Nybegynder
05. juni 2002 - 13:42 #1
Kan du ikke sætte en speed variabel? _root.speed = 0; , og ændre den når du trykker på en af pilene?

/per
Avatar billede baitianlong Nybegynder
05. juni 2002 - 16:52 #2
Er det ikke bare fordi du bruger onClipEvent(load). Den kører jo kun scriptet en gang.

Prøv lige at bruge onClipEvent(enterFrame) i stedet for.

(o;
Avatar billede pyroman Nybegynder
05. juni 2002 - 16:56 #3
Jeg har prøvet med enterFrame - det virker ikke.
hoejrup> Hvordan vil du have jeg skal bruge den speed variable?
Avatar billede baitianlong Nybegynder
05. juni 2002 - 17:14 #4
Et lille forsøg mere fra min side..

onClipEvent (enterFrame) {
    if (this.hitTest(_root.packman.hitarea)) {
      if(not key.isDown(key.UP) and not key.isDown(key.DOWN) and not key.isDown(key.LEFT ) and not key.isDown(key.RIGHT)) {
        setProperty (_root.packman, _x, 316);
        setProperty (_root.packman, _y, 280);
}
        _root.up = true;
        _root.down = false;
        _root.right = false;
        _root.left = true;
    }
}
Avatar billede mat Nybegynder
07. juni 2002 - 13:35 #5
hoejrups ide eksemplificeret:

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

mvh mat
Avatar billede pyroman Nybegynder
02. august 2002 - 19:02 #6
Har selv fundet ud af det - min fejl
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