Avatar billede hpen Nybegynder
18. april 2005 - 15:34 Der er 4 kommentarer

bounds problem

hvordan kan jeg lave sådan en bound hvis man styre sig selv oppe fra og ens movieclips instance name er: person
og bounds instance name er: land

det skal lige siges at det er bagrunden der bevæger sig og den har denne action:

onClipEvent (enterFrame) {
    if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) {
        setProperty(this, _y, this._y + 1);
        setProperty(this, _x, this._x - 1);
    } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) {
        setProperty(this, _y, this._y - 1);
        setProperty(this, _x, this._x - 1);
    } else if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) {
        setProperty(this, _y, this._y + 1);
        setProperty(this, _x, this._x + 1);
    } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) {
        setProperty(this, _y, this._y - 1);
        setProperty(this, _x, this._x + 1);
    } else if (Key.isDown(Key.LEFT)) {
        setProperty(this, _x, this._x +1);
    } else if (Key.isDown(Key.RIGHT)) {
        setProperty(this, _x, this._x - 1);
    } else if (Key.isDown(Key.DOWN)) {
        setProperty(this, _y, this._y - 1);
    } else if (Key.isDown(Key.UP)) {
        setProperty(this, _y, this._y + 1);
    } else if (Key.isDown(Key.SPACE)) {
        setProperty(this, _y, this._y -1);
        setProperty(this, _x, this._x -1);
    }
}

såååå hvad er actionen til kortet så at ens bil (et andet movieclip) ikke støder ind i "land" movieclippet?

svar udbedes tak
Avatar billede pyroman Nybegynder
18. april 2005 - 16:18 #1
For også lige at gøre din kode lidt nyere og kortere:

Følgende sættes i 1. frame på det mc hvori baggrunden og bilen ligger:

onEnterFrame = function(){
  var xspeed = 0;
  var yspeed = 0;
 
  if(Key.isDown(Key.SPACE)){
    xpeed = -1;
    yspeed = -1;
  }
  if(Key.isDown(Key.LEFT))
    xspeed = 1;
  else if(Key.isDown(Key.RIGHT))
    xpseed = -1;
  if(Key.isDown(Key.UP))
    yspeed = 1;
  else if(Key.isDown(Key.DOWN))
    yspeed = -1;
 
  BAGGRUND._x += xspeed;
  BAGGRUND._y += yspeed;
  if(BAGGRUND.hitTest(BIL){
    BAGGRUND._x -= xspeed;
    BAGGRUND._y -= yspeed;
  }
};


Sådan ca. ;)
Avatar billede hpen Nybegynder
18. april 2005 - 16:39 #2
jo men er der ikke en måde hvor på jeg kan velige holde min action og stadig væk løse mit problem?
Avatar billede pyroman Nybegynder
18. april 2005 - 17:18 #3
joo... men ovenstående er bare lidt smartere...

I hvert fald skal du have de der setProperty væk - det er noget Flash4/5 snask, som man ikke vil røre med en ildtang... Her er en mindre ændring så:


onClipEvent (enterFrame) {
    var xspeed = 0;
    var yspeed = 0;
    if (Key.isDown(Key.UP) && Key.isDown(Key.RIGHT)) {
        yspeed = 1;
        xpeed = -1;
    } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.RIGHT)) {
        yspeed = -1;
        xspeed = -1;
    } else if (Key.isDown(Key.UP) && Key.isDown(Key.LEFT)) {
        yspeed = 1;
        xspeed = 1;
    } else if (Key.isDown(Key.DOWN) && Key.isDown(Key.LEFT)) {
        yspeed = -1;
        xspeed = 1;
    } else if (Key.isDown(Key.LEFT)) {
        xspeed = 1;
    } else if (Key.isDown(Key.RIGHT)) {
        xspeed = -1
    } else if (Key.isDown(Key.DOWN)) {
        yspeed = -1;
    } else if (Key.isDown(Key.UP)) {
        yspeed = 1;
    } else if (Key.isDown(Key.SPACE)) {
        yspeed = -1;
        xspeed = -1;
    }
    this._x += xspeed;
    this._y += yspeed;
    if(this.hitTest(this._parent.land)){
        this._x -= xspeed;
        this._y -= yspeed;
    }
}



Det skulle vist være den simpleste omformning af dit script...
Avatar billede hpen Nybegynder
23. april 2005 - 10:57 #4
arg det virker ikke :(

hvis du kunne give mig din msn kunne jeg sende dig filen for jeg mener jeg har gjort fuldstændig som du sagde
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